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:uVHZ7e2j311デフォルトの名無しさん
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 面白いわくわくする
317デフォルトの名無しさん
2025/12/12(金) 00:35:57.86ID:qdqoL0/s よろしくお願いします
●Regular Expressionの使用環境
サクラエディタ32bit Ver2.4.2.6048(bregoing.dll Ver.4.20 with Onigmo 6.2.0)
●検索か置換か?
検索
●説明
いかのアドレス範囲に一致させたい
●対象データ
151.145.0.0〜151.145.127.255
●Regular Expressionの使用環境
サクラエディタ32bit Ver2.4.2.6048(bregoing.dll Ver.4.20 with Onigmo 6.2.0)
●検索か置換か?
検索
●説明
いかのアドレス範囲に一致させたい
●対象データ
151.145.0.0〜151.145.127.255
318317
2025/12/12(金) 00:48:13.98ID:qdqoL0/s これで合ってますか?
(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]?\d)){3}
(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]?\d)){3}
319317
2025/12/12(金) 00:51:57.92ID:qdqoL0/s 間違えました
これで合ってますか?
(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]?\d)){3}
これで合ってますか?
(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]?\d)){3}
320317
2025/12/12(金) 00:52:53.14ID:qdqoL0/s また間違えてました・・・すみません
これで合ってますか?
151.145.(0|[1-9][0-9]?|1(0|1)[0-9]|12[0-7]).(0|[1-9][0-9]?|1[0-9]{2}|2[0-4][0-9]|25[0-5])
これで合ってますか?
151.145.(0|[1-9][0-9]?|1(0|1)[0-9]|12[0-7]).(0|[1-9][0-9]?|1[0-9]{2}|2[0-4][0-9]|25[0-5])
321デフォルトの名無しさん
2025/12/12(金) 01:16:30.11ID:9WR4PduZ 細かい部分は見てないけど
とりあえず区切りの.はエスケープしないといけない
とりあえず区切りの.はエスケープしないといけない
322デフォルトの名無しさん
2025/12/12(金) 01:18:48.94ID:/Lx6Nx9f IPアドレスに正規表現を使うなとは言っちゃダメなんだよね
323デフォルトの名無しさん
2025/12/12(金) 01:28:18.32ID:spFFJYjp その心は?
324デフォルトの名無しさん
2025/12/12(金) 01:54:49.45ID:9WR4PduZ これ前後切らないと"151.145.127.256"が"151.145.127.25"で引っ掛かるな
10進数以外の表記が混ざってたら知らん
(?<!\d)(151\.145\.(([1-9]|1[01])?[0-9]|12[0-7])\.(([1-9]|1[0-9]|2[0-4])?[0-9]|25[0-5]))(?!\d)
10進数以外の表記が混ざってたら知らん
(?<!\d)(151\.145\.(([1-9]|1[01])?[0-9]|12[0-7])\.(([1-9]|1[0-9]|2[0-4])?[0-9]|25[0-5]))(?!\d)
325デフォルトの名無しさん
2025/12/12(金) 02:17:39.16ID:VvvzoDh6 JSマクロで正規表現は文字列マッチまでにして
数値の評価はコードでやるのが素直ちゃうかな
数値の評価はコードでやるのが素直ちゃうかな
326デフォルトの名無しさん
2025/12/12(金) 03:07:41.77ID:I1NVdYVn bregoing
328317
2025/12/12(金) 09:21:33.13ID:qdqoL0/s 度々すみません
よろしくお願いします
●Regular Expressionの使用環境
サクラエディタ32bit Ver2.4.2.6048(bregoing.dll Ver.4.20 with Onigmo 6.2.0)
●検索か置換か?
検索
●説明
1この数字(15080)だけ除外して、他の全ては一致させたい
●対象データ
10000〜65535
●結果
15080だけ除外したい
よろしくお願いします
●Regular Expressionの使用環境
サクラエディタ32bit Ver2.4.2.6048(bregoing.dll Ver.4.20 with Onigmo 6.2.0)
●検索か置換か?
検索
●説明
1この数字(15080)だけ除外して、他の全ては一致させたい
●対象データ
10000〜65535
●結果
15080だけ除外したい
329317
2025/12/12(金) 09:38:11.84ID:qdqoL0/s また頑張って考えてみたのですが合ってますか?
(6(0-4(0-9)(0-9)(0-9)|5(0-4(0-9)(0-9)|5(0-2(0-9)|(3)0-5))))
(6(0-4(0-9)(0-9)(0-9)|5(0-4(0-9)(0-9)|5(0-2(0-9)|(3)0-5))))
330317
2025/12/12(金) 09:41:37.19ID:qdqoL0/s 全然ダメでした・・・
331317
2025/12/12(金) 09:53:53.88ID:qdqoL0/s 訂正してみました
(1-5(08(1-9)|(1-9)(1-9)(1-9))|6(0-4(0-9)(0-9)(0-9)|5(0-4(0-9)(0-9)|5(0-2(0-9)|(3)0-5))))
(1-5(08(1-9)|(1-9)(1-9)(1-9))|6(0-4(0-9)(0-9)(0-9)|5(0-4(0-9)(0-9)|5(0-2(0-9)|(3)0-5))))
332デフォルトの名無しさん
2025/12/12(金) 10:50:58.26ID:LKIn+XBY (?<!\d)(?!15080(?!\d))\d+
333317
2025/12/12(金) 12:06:38.03ID:qdqoL0/s >>332
それだと9999なども一致していまいました・・・
一致させたいのは以下の通り15080を除く10000〜65535の数字です
●対象データ
10000〜65535
●結果
15080だけ除外したい
それだと9999なども一致していまいました・・・
一致させたいのは以下の通り15080を除く10000〜65535の数字です
●対象データ
10000〜65535
●結果
15080だけ除外したい
334デフォルトの名無しさん
2025/12/12(金) 12:13:35.22ID:rpg4U98A エディタで実行するってことは手作業が前提なのかな?
それなら検索に先立って 15080 を 💩 に置換しておく方が手っ取り早い
それなら検索に先立って 15080 を 💩 に置換しておく方が手っ取り早い
335デフォルトの名無しさん
2025/12/12(金) 12:54:36.94ID:5G5yyPjc (?!15080)(5桁特定範囲マッチ文)
あとは任せた
あとは任せた
336デフォルトの名無しさん
2025/12/12(金) 14:08:50.61ID:GFwk6EHV ログ抽出なら普通にgrepすればいいじゃん
除外したければgrep結果に-vで再grep
除外したければgrep結果に-vで再grep
338デフォルトの名無しさん
2025/12/12(金) 19:47:36.13ID:9WR4PduZ (?!15080)([1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5])
6桁以上を除外するなら
(?<!\d)((?!15080)([1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5]))(?!\d)
6桁以上を除外するなら
(?<!\d)((?!15080)([1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5]))(?!\d)
339317
2025/12/12(金) 19:49:17.82ID:qdqoL0/s >>335
ありがとうございます
これで合ってますか?
(?!15080)(([1-5]([0-9])([0-9])([0-9])([0-9]))|(6([0-4]([0-9])([0-9])([0-9])|5([0-4]([0-9])([0-9])|5([0-2]([0-9])|(3)[0-5])))))
ありがとうございます
これで合ってますか?
(?!15080)(([1-5]([0-9])([0-9])([0-9])([0-9]))|(6([0-4]([0-9])([0-9])([0-9])|5([0-4]([0-9])([0-9])|5([0-2]([0-9])|(3)[0-5])))))
340317
2025/12/12(金) 19:50:24.52ID:qdqoL0/s >>338
超ありがとうございます!
教えていただいたこちら使わせていただきます
助かりました
(?!15080)([1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5])
超ありがとうございます!
教えていただいたこちら使わせていただきます
助かりました
(?!15080)([1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5])
341317
2025/12/12(金) 21:51:03.49ID:qdqoL0/s342デフォルトの名無しさん
2025/12/12(金) 22:25:23.79ID:lKBtIMua すっきり快便
343デフォルトの名無しさん
2025/12/13(土) 01:35:26.40ID:klNuhF9X JScriptで検索自体を素直に書けるのに正規表現のみにこだわる必要がない
外部コマンドでタグジャンプ用の出力するのもあり
外部コマンドでタグジャンプ用の出力するのもあり
レスを投稿する
ニュース
- 東京の自販機そばに金塊4200万円分、何者かに持ち去られる…札幌の50代が8000万円振り込んだ後に上京して被害 [どどん★]
- 【東京】「家族で話題にして」 “世田谷一家殺害から25年 警視庁が呼びかけ [煮卵★]
- 【沖縄】開業4ヵ月でこれは…“国民の税金”投入の『ジャングリア沖縄』で見た衝撃的な光景と、モチベーションが低い一部スタッフの現状 [ぐれ★]
- 【鹿児島】容疑者は大学生。国道3号を横断中の母娘を車ではねる――「太陽がまぶしくて見えなかった」。20歳女を現行犯逮捕 日置署 [ぐれ★]
- ハイヒールリンゴ 接待客の料理に長い毛髪混入、店から謝罪もシェフがつるっぱげで…「どうしたらええねん」 [muffin★]
- 【芸能】ワイドショーはオワコンなのか... フジ・朝の情報番組『サン!シャイン』1年で打ち切り報道 テレビよりSNSの視聴者 [冬月記者★]
- 【実況】博衣こよりのえちえちドラクエ1&2リメイク🧪★9
- 高市「たまたま私が支部長だった。高市早苗に対する献金ではない」→自分の公式サイトで、ガッツリ寄付を呼びかけていた事が判明 [594040874]
- セブンイレブンの弁当
- 【悲報】自民党、また女遊びに政治資金WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
- カービィって作中1回も本気だしてないのわかる?
- 【賞与】県議会議員の冬のボーナス、200万。高いか安いか?高市は341万 [219241683]
