Regular Expressionスレです。
質問する場合は必ず実装言語や処理系ソフトウェア名を示してください。
前スレ
Regular Expression(正規表現) Part16
https://mevius.5ch.net/test/read.cgi/tech/1635936601/
次スレは>>980宜しく
テンプレ>>2以降
探検
Regular Expression(正規表現) Part17
1デフォルトの名無しさん
2023/12/16(土) 08:59:20.50ID:uVHZ7e2j307デフォルトの名無しさん
2025/12/07(日) 07:46:42.62ID:UCYK391B プログラムでなくて正規表現メモパッド環境での質問でも良いですか
任意の文字をHTMLエンコード(16進数数値文字参照)するコマンドってありますか
文章:正規表現
検索:規
置換:⸨REGEXコマンド⸩
結果:正規表現
的な
任意の文字をHTMLエンコード(16進数数値文字参照)するコマンドってありますか
文章:正規表現
検索:規
置換:⸨REGEXコマンド⸩
結果:正規表現
的な
308デフォルトの名無しさん
2025/12/07(日) 11:24:43.85ID:DIZ3oEXF イヤん置換
309デフォルトの名無しさん
2025/12/07(日) 14:08:32.54ID:9FE0dLzx >>306
>DMARCレコードの末尾はセミコロンなくてもいいからじゃね?
なるほどね
>それより修飾子kがなにかきになる
文字のハイライトをしたいときに使うオプションのようだけど
/kが必要になる理由は分からないな
>DMARCレコードの末尾はセミコロンなくてもいいからじゃね?
なるほどね
>それより修飾子kがなにかきになる
文字のハイライトをしたいときに使うオプションのようだけど
/kが必要になる理由は分からないな
310デフォルトの名無しさん
2025/12/07(日) 16:01:19.36ID:W5rWTuKC 使ってるAPI関係の話みたいだよ
-------
Bregexp.dll for SAKURA 互換 API
BMatch(), BMatchEx(), BSplit()
/pattern1/options
m/pattern1/options
BSubst(), BSubstEx()
s/pattern1/pattern2/options
BTrans()
tr/pattern3/pattern4/options
y/pattern3/pattern4/options (Ver.3 以降)
options
k - 文字を日本語(Shift_JIS)として扱うが、Unicode API 利用時は無視される(Bregexp.dll 独自拡張)
-------
hintヒント
正規表現を検索、置換、Grepで利用する場合、「/」をエスケープしたり、「/」で囲ったりする必要はありません。
正規表現キーワードで使う場合は、/text\/css/k のように「/」をエスケープするか m#text/css#k のように書く必要があります。
hint追加情報
検索、置換、Grepでは、正規表現ライブラリに渡す文字列を以下のようにしています。[DELIMITER]は、0xffのバイナリ表記とします。
Unicode版では U+FFFF です。
検索時のオプションは「m[DELIMITER]Pattern[DELIMITER]km」です。
置換時のオプションは「s[DELIMITER]PatternBefore[DELIMITER]PatternAfter[DELIMITER]km」です。
デリミタ相当の文字を検索・置換するにはエスケープが必要です。
また大文字小文字を区別しない場合は最後に「i」が付加されます。
すべて置換で「すべて置換は置換の繰返し」がOFFの場合は「g」が付加されます。
(mオプションが付いていますが、改行をまたいだ検索はできません。)
-------
Bregexp.dll for SAKURA 互換 API
BMatch(), BMatchEx(), BSplit()
/pattern1/options
m/pattern1/options
BSubst(), BSubstEx()
s/pattern1/pattern2/options
BTrans()
tr/pattern3/pattern4/options
y/pattern3/pattern4/options (Ver.3 以降)
options
k - 文字を日本語(Shift_JIS)として扱うが、Unicode API 利用時は無視される(Bregexp.dll 独自拡張)
-------
hintヒント
正規表現を検索、置換、Grepで利用する場合、「/」をエスケープしたり、「/」で囲ったりする必要はありません。
正規表現キーワードで使う場合は、/text\/css/k のように「/」をエスケープするか m#text/css#k のように書く必要があります。
hint追加情報
検索、置換、Grepでは、正規表現ライブラリに渡す文字列を以下のようにしています。[DELIMITER]は、0xffのバイナリ表記とします。
Unicode版では U+FFFF です。
検索時のオプションは「m[DELIMITER]Pattern[DELIMITER]km」です。
置換時のオプションは「s[DELIMITER]PatternBefore[DELIMITER]PatternAfter[DELIMITER]km」です。
デリミタ相当の文字を検索・置換するにはエスケープが必要です。
また大文字小文字を区別しない場合は最後に「i」が付加されます。
すべて置換で「すべて置換は置換の繰返し」がOFFの場合は「g」が付加されます。
(mオプションが付いていますが、改行をまたいだ検索はできません。)
311デフォルトの名無しさん
2025/12/07(日) 16:06:20.28ID:W5rWTuKC サクラエディタにはUnicode版もあるらしいが、そこでも //k が使われるのかは不明
まあこれをそのままユーザーに指定させるってのもどうかなってのは思う
まあこれをそのままユーザーに指定させるってのもどうかなってのは思う
312デフォルトの名無しさん
2025/12/07(日) 19:50:15.24ID:FNtb5kKI bregoing
313デフォルトの名無しさん
2025/12/07(日) 20:01:45.27ID:W5rWTuKC >>312
上のAPIの説明はbregonig.dll(v4.20)に付属の説明書からの抜き出しだよ
4. API
4.1. Bregexp.dll 互換 API (ANSI/Shift_JIS)
以下の Bregexp.dll 互換の API が使用できます。
•BMatch()
•BSubst()
•BTrans()
•BSplit()
•BRegfree()
•BRegexpVersion()
また、以下の Bregexp.dll for SAKURA 互換の API も使用できます。
•BMatchEx()
•BSubstEx()
pattern2, options の部分は bregonig.dll が自前で処理を行っており、Onigmo や Bregexp.dll あるいは Perl とは多少仕様が異なっています。(詳細は後述)
Bregexp.dll に比べて、BMatch(), BSubst(), BSplit() で s, x, a, u, R が使えるように拡張されています。なお、x は pattern1 にのみ効果があり、pattern2 には効果はありません。
Unicode API 利用時は k オプションは無視されます。漢字は常に使用可能です。
5.4. Bregexp.dll との非互換点
•オプションで k (日本語モード) を指定すると、\w は [A-Za-z0-9_] だけでなく、2バイト文字(漢字等)にもマッチするようになります。一方、Bregexp.dll では、オプション k の有無に関わらず、\w は [A-Za-z0-9_] と同義です。なお、Perl 5.8 でも、検索対象が Unicode 文字列(utf8 フラグがオン)ならば、\w は多バイト文字にもマッチします。Bregexp.dll と同じ動作にするには、オプション a を指定してください。
•Onigmo 自体は各種文字エンコーディングに対応していますが、bregonig.dll は Bregexp.dll との互換性のため、従来 API では、ASCII と Shift_JIS 以外の文字エンコーディングは使用できません。(新 API を使うことで、Ver.2 以降では UTF-16LE、Ver.3 以降では UTF-8 も使えます。)
上のAPIの説明はbregonig.dll(v4.20)に付属の説明書からの抜き出しだよ
4. API
4.1. Bregexp.dll 互換 API (ANSI/Shift_JIS)
以下の Bregexp.dll 互換の API が使用できます。
•BMatch()
•BSubst()
•BTrans()
•BSplit()
•BRegfree()
•BRegexpVersion()
また、以下の Bregexp.dll for SAKURA 互換の API も使用できます。
•BMatchEx()
•BSubstEx()
pattern2, options の部分は bregonig.dll が自前で処理を行っており、Onigmo や Bregexp.dll あるいは Perl とは多少仕様が異なっています。(詳細は後述)
Bregexp.dll に比べて、BMatch(), BSubst(), BSplit() で s, x, a, u, R が使えるように拡張されています。なお、x は pattern1 にのみ効果があり、pattern2 には効果はありません。
Unicode API 利用時は k オプションは無視されます。漢字は常に使用可能です。
5.4. Bregexp.dll との非互換点
•オプションで k (日本語モード) を指定すると、\w は [A-Za-z0-9_] だけでなく、2バイト文字(漢字等)にもマッチするようになります。一方、Bregexp.dll では、オプション k の有無に関わらず、\w は [A-Za-z0-9_] と同義です。なお、Perl 5.8 でも、検索対象が Unicode 文字列(utf8 フラグがオン)ならば、\w は多バイト文字にもマッチします。Bregexp.dll と同じ動作にするには、オプション a を指定してください。
•Onigmo 自体は各種文字エンコーディングに対応していますが、bregonig.dll は Bregexp.dll との互換性のため、従来 API では、ASCII と Shift_JIS 以外の文字エンコーディングは使用できません。(新 API を使うことで、Ver.2 以降では UTF-16LE、Ver.3 以降では UTF-8 も使えます。)
314デフォルトの名無しさん
2025/12/08(月) 12:26:55.03ID:Uac8TKoK Bregexp.dllの頃から使われてたオプションっぽいね、20年前にはあったオプションかも
315デフォルトの名無しさん
2025/12/08(月) 21:08:56.84ID:Uac8TKoK 2007年08月13日 の投稿に/kを確認
https://sakura-editor.github.io/bbslog/sf/ansi/4937.html#4960
>正規表現キーワード /\b([0-9A-F]{2})+(?=h)?/k
bregonig.dllを導入するときに/kが必要になった可能性もあるのか
しかしこれ以上調べる気にはなれなかった
https://sakura-editor.github.io/bbslog/sf/ansi/4937.html#4960
>正規表現キーワード /\b([0-9A-F]{2})+(?=h)?/k
bregonig.dllを導入するときに/kが必要になった可能性もあるのか
しかしこれ以上調べる気にはなれなかった
316デフォルトの名無しさん
2025/12/08(月) 21:53:56.42ID:PdAyBLn5 面白いわくわくする
レスを投稿する
ニュース
- 国民 居住目的でない住宅所有者に「空室税」課せる法案を提出 ★2 [少考さん★]
- JA全農が「新おこめ券」…来年9月末の有効期限を新設、必要経費のみ上乗せ [蚤の市★]
- 【EV新税】最大2万4千円で検討 28年から、普及妨げると異論も [蚤の市★]
- 「働いて働いて」の流行語大賞に懸念 「言葉が独り歩き」 過労自殺遺族 [尺アジ★]
- アメリカ、入国時に「日本人を含む外国人観光客の最大5年分のSNS履歴の提出」義務化へ 過去10年間に使用のメールアドレスや電話番号等も★3 [Hitzeschleier★]
- 【山形】クマ駆除で誤射した猟友会隊員に町が1663万円請求へ...弾当たり男性大けが2023年 小国町 [nita★]
- 防衛省「中国側が出した記録は捏造」とは一言も表明せず、捏造言ってたネトウヨたちどうすんの? [469534301]
- 【実況】博衣こよりのえちえちダンガンロンパ2🧪★1
- 【実況】博衣こよりのえちえちダンガンロンパ2🧪★2
- 【悲報】高市早苗、被災民に対し「自分の命くらいは自分で守ってくださいね」と切り捨てし大炎上 [339712612]
- 【実況】博衣こよりのえちえちダンガンロンパ2🧪★2
- 【高市悲報】JA、発狂www「臨時に経費率を下げるので、どうかお米券を使ってください」 [246620176]
