Regular Expressionスレです。
質問する場合は必ず実装言語や処理系ソフトウェア名を示してください。
前スレ
Regular Expression(正規表現) Part15
https://mevius.5ch.net/test/read.cgi/tech/1568640311/
次スレは>>980宜しく
天ぷら等>>2以降
探検
Regular Expression(正規表現) Part16
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
2021/11/03(水) 19:50:01.71ID:ebAE+z9+2021/12/17(金) 13:32:58.43ID:N/8v4GiQ
>>61
^(?~(?<=ab)c)
^(?~(?<=ab)c)
2021/12/17(金) 15:12:28.90ID:wvP9ttxM
記号が同じなだけで名称も説明上の動作も違うからそもそも似て非なる別物
ではなくて?
ではなくて?
6429
2021/12/17(金) 19:59:50.60ID:t+q3CK3B >>62 それ反則w ちなみにこんなのもある
Perl正規表現雑技 : ある文字列を含まないものにマッチする正規表現
http://www.din.or.jp/~ohzaki/regex.htm#Without
>>63 その解釈で間違ってないと思う、oniguruma の (?~abc) は仕様が
決まった時点で別物だね、(?:(?!abc).)* の拡張版と言ったほうがしっくりくる
実用上は oniguruma 版のほうが使いやすそうだしあえて変えたんだろうね
Perl正規表現雑技 : ある文字列を含まないものにマッチする正規表現
http://www.din.or.jp/~ohzaki/regex.htm#Without
>>63 その解釈で間違ってないと思う、oniguruma の (?~abc) は仕様が
決まった時点で別物だね、(?:(?!abc).)* の拡張版と言ったほうがしっくりくる
実用上は oniguruma 版のほうが使いやすそうだしあえて変えたんだろうね
2021/12/17(金) 20:49:06.88ID:BDVQn7Pa
いやぁ、、ヒネくれちゃっただけでしょ
2021/12/19(日) 06:09:19.30ID:X6k+U6Sv
成果だけ横から頂いてこっちで改変流用するわwおまえ除名なwとか言われちゃったらまあ拗ねもするさ
2021/12/19(日) 08:57:20.74ID:hMGijQ8S
(?s:^(?=.*(?:トビラ|280|280|[内外]製|純正|公式))(?=.*(?:ガイジ|発狂|長文|必死|キチガイ|キチキチ)))
これが効かないんすけど何か間違えてますか?
https://egg.5ch.net/test/read.cgi/android/1638738146/
これが効かないんすけど何か間違えてますか?
https://egg.5ch.net/test/read.cgi/android/1638738146/
2021/12/19(日) 10:54:25.85ID:mCvaVjB9
少なくともchmateだとマッチしてる
正規表現と文字列の切り替えの設定間違えてるんじゃないの
正規表現と文字列の切り替えの設定間違えてるんじゃないの
2021/12/20(月) 20:18:42.66ID:k8SAGnLj
●Regular Expressionの使用環境
サクラエディタ(bregoing.dll Ver4.20 with Onigmo 6.2.0)
●検索か置換か?
検索
●説明
IPv4アドレスに一致させたい
●対象データ
2021.12.19.06
192.168.1.1
●希望する結果
192.168.1.1
下の正規表現だと2021.12.19.06の021.12.19.06に一致していまいました。
/(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)/k
サクラエディタ(bregoing.dll Ver4.20 with Onigmo 6.2.0)
●検索か置換か?
検索
●説明
IPv4アドレスに一致させたい
●対象データ
2021.12.19.06
192.168.1.1
●希望する結果
192.168.1.1
下の正規表現だと2021.12.19.06の021.12.19.06に一致していまいました。
/(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)/k
7069
2021/12/20(月) 20:22:55.66ID:k8SAGnLj すみません
対象データの訂正です
最初と最後に文字列があります
●対象データ
AB2021.12.19.06E
CD192.168.1.1E
対象データの訂正です
最初と最後に文字列があります
●対象データ
AB2021.12.19.06E
CD192.168.1.1E
2021/12/20(月) 20:25:28.02ID:cLNhpahP
2021/12/20(月) 20:55:56.04ID:k8SAGnLj
度々すみません
訂正があったので再度質問させてください
●Regular Expressionの使用環境
サクラエディタ(bregoing.dll Ver4.20 with Onigmo 6.2.0)
●検索か置換か?
検索
●説明
IPv4アドレスに一致させたい
条件
前後に何も含まない場合
前後に[]を含む場合
前後に半角を含む場合
●対象データ
A2021.12.19.06B
B192.168.1.01B
192.168.1.1
[192.168.1.1]
_192.168.1.1_ ←_は半角空白
●希望する結果
192.168.1.1
[192.168.1.1]
_192.168.1.1_ ←_は半角空白
下の正規表現だと2021.12.19.06の021.12.19.06に一致していまいました。
/(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)/k
よろしくお願いします
訂正があったので再度質問させてください
●Regular Expressionの使用環境
サクラエディタ(bregoing.dll Ver4.20 with Onigmo 6.2.0)
●検索か置換か?
検索
●説明
IPv4アドレスに一致させたい
条件
前後に何も含まない場合
前後に[]を含む場合
前後に半角を含む場合
●対象データ
A2021.12.19.06B
B192.168.1.01B
192.168.1.1
[192.168.1.1]
_192.168.1.1_ ←_は半角空白
●希望する結果
192.168.1.1
[192.168.1.1]
_192.168.1.1_ ←_は半角空白
下の正規表現だと2021.12.19.06の021.12.19.06に一致していまいました。
/(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)/k
よろしくお願いします
7372
2021/12/20(月) 21:00:55.82ID:k8SAGnLj 希望する結果では[]や半角を含まずIP部分だけ一致させたいです
よろしくお願いします
よろしくお願いします
2021/12/20(月) 21:13:35.36ID:cLNhpahP
(?<![.0-9])(IPv4の正規表現ggrks)(?![.0-9])
7572
2021/12/20(月) 21:27:00.64ID:k8SAGnLj >>74
ありがとうございます
それだとIPv4アドレスではない部分に一致してしまいダメ
(?<![.0-9])([0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3})(?![.0-9])
ありがとうございます
それだとIPv4アドレスではない部分に一致してしまいダメ
(?<![.0-9])([0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3})(?![.0-9])
7672
2021/12/20(月) 21:31:02.39ID:k8SAGnLj >>74
こういった結果を希望しています
よろしくお願いします
●対象データ
A2021.12.19.06B
B192.168.1.01B
192.168.1.1
[192.168.1.1]
_192.168.1.1_ ←_は半角空白
●希望する結果
一致しない
一致しない ←.01という表記が正しくない為
192.168.1.1 ←一致
192.168.1.1 ←[]の中を一致
192.168.1.1 ←前後の半角を除いて一致
こういった結果を希望しています
よろしくお願いします
●対象データ
A2021.12.19.06B
B192.168.1.01B
192.168.1.1
[192.168.1.1]
_192.168.1.1_ ←_は半角空白
●希望する結果
一致しない
一致しない ←.01という表記が正しくない為
192.168.1.1 ←一致
192.168.1.1 ←[]の中を一致
192.168.1.1 ←前後の半角を除いて一致
2021/12/20(月) 21:50:00.81ID:k8/KZn4u
[192.168.1.1_
7872
2021/12/20(月) 22:36:54.07ID:azxFC8Fx >>74
下の通りにしたら出来ました
ありがとうございました
/(?<![.0-9])(((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9]))(?![.0-9])/k
下の通りにしたら出来ました
ありがとうございました
/(?<![.0-9])(((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9]))(?![.0-9])/k
2021/12/21(火) 05:04:20.96ID:DlXpRfUq
(?<![.\d])(?:(2(?:5[0-5]|[0-4]\d)|1\d\d|[1-9]?\d)\.){3}\g'1'(?![.\d])
2021/12/21(火) 12:48:39.34ID:YqPiCVQe
(?<![.\d])(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.\g'1'){3}(?![.\d])
8372
2021/12/21(火) 13:04:04.34ID:bLPLuUHJ ちなみに>>79さんや>>81さんの正規表現だと
こういった正規表現チェッカーでは一致しないのは何故なんでしょうか?
https://www.debuggex.com/
JavaScriptと表示されているリストをPythonに指定して試しました
こういった正規表現チェッカーでは一致しないのは何故なんでしょうか?
https://www.debuggex.com/
JavaScriptと表示されているリストをPythonに指定して試しました
2021/12/21(火) 16:35:44.32ID:fKMzp4yd
後方参照の記法絡みかなあ
2021/12/21(火) 16:46:05.57ID:ehDQ8UlO
¥をつかうか、$を使うかは、なかなか思い出せないから困る
2021/12/21(火) 18:31:43.92ID:2Q9XRXAv
>>79 >>81
サクラエディタ(というか鬼車や鬼雲、bregonig.dllの正規表現)
の\dは全角数字にもマッチするから
[0-9]で検索すべき
全角が含まれてしまう話は\s,\wなども同様
サクラエディタBBSでの高田先生の過去発言
https://sakura-editor.github.io/bbslog/sf/ansi/4874.html#4887
サクラエディタ(というか鬼車や鬼雲、bregonig.dllの正規表現)
の\dは全角数字にもマッチするから
[0-9]で検索すべき
全角が含まれてしまう話は\s,\wなども同様
サクラエディタBBSでの高田先生の過去発言
https://sakura-editor.github.io/bbslog/sf/ansi/4874.html#4887
2021/12/21(火) 19:19:25.77ID:N0HCE/E4
左端に(?a)をつければ\dのままでも?
2021/12/21(火) 19:35:57.99ID:aQSGSn8P
Meryの\dは半角のみ
正規表現まわり含め検索はサクラよりMeryのが良いな
サクラは複数行検索不可だし
正規表現まわり含め検索はサクラよりMeryのが良いな
サクラは複数行検索不可だし
2021/12/21(火) 20:39:47.81ID:wzddSm6Q
●Regular Expressionの使用環境
サクラエディタ(bregoing.dll Ver4.20 with Onigmo 6.2.0)
●検索か置換か?
検索
●説明
IPv6アドレスに一致させたい
条件
●対象データ
2603:1096:0604:00bc:0000:0000:0000:0009
(2603:1096:0604:00bc:0000:0000:0000:0009) ←半角括弧の中だけに一致させたい
_2603:1096:0604:00bc:0000:0000:0000:0009_ ←_は半角スペースの中だけに一致させたい
2603:1096:604:bc::9
(2603:1096:604:bc::9)
_2603:1096:604:bc::9_
●希望する結果
2603:1096:0604:00bc:0000:0000:0000:0009
2603:1096:0604:00bc:0000:0000:0000:0009
2603:1096:0604:00bc:0000:0000:0000:0009
2603:1096:604:bc::9
2603:1096:604:bc::9
2603:1096:604:bc::9
○試した正規表現
下の正規表現だと最後の:以降(上の例だと最後の9)が一致しませんでした
(\:\:([a-f0-9]{1,4}\:){0,6}?[a-f0-9]{0,4}|[a-f0-9]{1,4}(\:[a-f0-9]{1,4}){0,6}?\:\:|[a-f0-9]{1,4}(\:[a-f0-9]{1,4}){1,6}?\:\:([a-f0-9]{1,4}\:){1,6}?[a-f0-9]{1,4})(\/\d{1,3})?
よろしくお願いします
サクラエディタ(bregoing.dll Ver4.20 with Onigmo 6.2.0)
●検索か置換か?
検索
●説明
IPv6アドレスに一致させたい
条件
●対象データ
2603:1096:0604:00bc:0000:0000:0000:0009
(2603:1096:0604:00bc:0000:0000:0000:0009) ←半角括弧の中だけに一致させたい
_2603:1096:0604:00bc:0000:0000:0000:0009_ ←_は半角スペースの中だけに一致させたい
2603:1096:604:bc::9
(2603:1096:604:bc::9)
_2603:1096:604:bc::9_
●希望する結果
2603:1096:0604:00bc:0000:0000:0000:0009
2603:1096:0604:00bc:0000:0000:0000:0009
2603:1096:0604:00bc:0000:0000:0000:0009
2603:1096:604:bc::9
2603:1096:604:bc::9
2603:1096:604:bc::9
○試した正規表現
下の正規表現だと最後の:以降(上の例だと最後の9)が一致しませんでした
(\:\:([a-f0-9]{1,4}\:){0,6}?[a-f0-9]{0,4}|[a-f0-9]{1,4}(\:[a-f0-9]{1,4}){0,6}?\:\:|[a-f0-9]{1,4}(\:[a-f0-9]{1,4}){1,6}?\:\:([a-f0-9]{1,4}\:){1,6}?[a-f0-9]{1,4})(\/\d{1,3})?
よろしくお願いします
2021/12/21(火) 23:04:26.56ID:lAwv+hLw
2021/12/22(水) 00:48:17.09ID:zQqayV78
正直\dを[0-9]以外にもマッチさせる仕様ってどういう時に便利なのか今一つ分からん
2021/12/22(水) 03:24:15.78ID:dkzRMG/Q
[0-469bc:]++
2021/12/22(水) 09:44:58.18ID:dK2CjfaN
住所にしろ日付にしろ上から順に書いた方が齟齬が生じないだろうに
西洋文化圏のやつらは何が何でも省略しなきゃ気が済まないんだろうな
こんなもん略記許さない仕様の方が逆に全体的な効率は良いだろうに
フロッピーディスクの時代なら少しでも容量減らしたいのは分からなくも無いけど
西洋文化圏のやつらは何が何でも省略しなきゃ気が済まないんだろうな
こんなもん略記許さない仕様の方が逆に全体的な効率は良いだろうに
フロッピーディスクの時代なら少しでも容量減らしたいのは分からなくも無いけど
9691
2021/12/22(水) 10:25:10.40ID:giUFecUL >>94
ありがとうございます
IPv6アドレス以外には一致させたくないのです
●対象データ
1
01
2603:1096:0604:00bc:0000:0000:0000:0009
(2603:1096:0604:00bc:0000:0000:0000:0009) ←半角括弧の中だけに一致させたい
_2603:1096:0604:00bc:0000:0000:0000:0009_ ←_は半角スペースの中だけに一致させたい
2603:1096:604:bc::9
(2603:1096:604:bc::9)
_2603:1096:604:bc::9_
●希望する結果
2603:1096:0604:00bc:0000:0000:0000:0009
2603:1096:0604:00bc:0000:0000:0000:0009
2603:1096:0604:00bc:0000:0000:0000:0009
2603:1096:604:bc::9
2603:1096:604:bc::9
2603:1096:604:bc::9
ありがとうございます
IPv6アドレス以外には一致させたくないのです
●対象データ
1
01
2603:1096:0604:00bc:0000:0000:0000:0009
(2603:1096:0604:00bc:0000:0000:0000:0009) ←半角括弧の中だけに一致させたい
_2603:1096:0604:00bc:0000:0000:0000:0009_ ←_は半角スペースの中だけに一致させたい
2603:1096:604:bc::9
(2603:1096:604:bc::9)
_2603:1096:604:bc::9_
●希望する結果
2603:1096:0604:00bc:0000:0000:0000:0009
2603:1096:0604:00bc:0000:0000:0000:0009
2603:1096:0604:00bc:0000:0000:0000:0009
2603:1096:604:bc::9
2603:1096:604:bc::9
2603:1096:604:bc::9
97デフォルトの名無しさん
2021/12/22(水) 11:10:46.72ID:j6Uulo2p2021/12/22(水) 11:53:44.33ID:dK2CjfaN
9991
2021/12/22(水) 12:01:15.82ID:giUFecUL100デフォルトの名無しさん
2021/12/22(水) 16:45:06.37ID:rmiXIWtW IP アドレスの正規表現ぐらい、公式が発表しているのでは?
101デフォルトの名無しさん
2021/12/22(水) 17:23:12.37ID:Q/8wGtmi102デフォルトの名無しさん
2021/12/22(水) 17:29:20.12ID:SKIY34Ty IPv6を正確に捕捉するのは難しいだろ
2001:db8:0:0:1::1は×で、2001:db8::1:0:0:1が正しい
::ffff:c000:0280 = ::ffff:192.0.2.128
2001:db8:a::123/64
fe80::3%1
2001:db8:0:0:1::1は×で、2001:db8::1:0:0:1が正しい
::ffff:c000:0280 = ::ffff:192.0.2.128
2001:db8:a::123/64
fe80::3%1
104デフォルトの名無しさん
2021/12/22(水) 17:41:16.95ID:Q/8wGtmi >>103
そのパターン限定なら{8,}を{15,}とかで回避できる
そのパターン限定なら{8,}を{15,}とかで回避できる
10591
2021/12/22(水) 17:52:56.27ID:giUFecUL >>104
ありがとうございます
{9,}にしたら出来ました!
ちなみにこういうものに一致しないようにする方法はありますか?
:2603:1096:604:bc::9 ←先頭に:がある
こういう出現はないはずなんですが、もし簡単な正規表現の追加で出来たら嬉しいなあと
ありがとうございます
{9,}にしたら出来ました!
ちなみにこういうものに一致しないようにする方法はありますか?
:2603:1096:604:bc::9 ←先頭に:がある
こういう出現はないはずなんですが、もし簡単な正規表現の追加で出来たら嬉しいなあと
107デフォルトの名無しさん
2021/12/22(水) 18:06:08.63ID:Q/8wGtmi これでどう?
ただし頭:への対応は無理
([0-9a-f:]+:){4,}[0-9a-f]+
ただし頭:への対応は無理
([0-9a-f:]+:){4,}[0-9a-f]+
10891
2021/12/22(水) 18:17:32.37ID:giUFecUL >>107
度々ありがとうございます
それでも数字や英字の連続に一致してしまいダメでした
08d9c24701be
合ってるか分からないのですが、今のところ>>91の正規表現の末尾に[0-9]*を加えています・・・
(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))[0-9]*
度々ありがとうございます
それでも数字や英字の連続に一致してしまいダメでした
08d9c24701be
合ってるか分からないのですが、今のところ>>91の正規表現の末尾に[0-9]*を加えています・・・
(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))[0-9]*
109デフォルトの名無しさん
2021/12/22(水) 18:29:09.14ID:G1M4O4Y+ >>108
ところどころfe80とかffffみたいにベタ書きしてるのはなぜ?
ところどころfe80とかffffみたいにベタ書きしてるのはなぜ?
110デフォルトの名無しさん
2021/12/22(水) 21:01:48.91ID:++/G/dKU111デフォルトの名無しさん
2021/12/23(木) 03:07:53.75ID:0XYH//o1 (?<!\h)(IPv6の正規表現ググレカス)(?!\h)
112デフォルトの名無しさん
2021/12/23(木) 09:13:03.87ID:fgU7IqZ3113デフォルトの名無しさん
2021/12/23(木) 09:14:21.91ID:fgU7IqZ3 >>108
ちなみにipv6の正規表現で検索して色々出てきたけど、下のやつから頭とお尻の(^$)とるとマッチするんだが、改行が含まれてしまう。
他は>>96がイレギュラーすぎてマッチしないのが多い。
http://tech-uh-oh.blogspot.com/2010/02/ipv6.html
ちなみにipv6の正規表現で検索して色々出てきたけど、下のやつから頭とお尻の(^$)とるとマッチするんだが、改行が含まれてしまう。
他は>>96がイレギュラーすぎてマッチしないのが多い。
http://tech-uh-oh.blogspot.com/2010/02/ipv6.html
11491
2021/12/23(木) 12:05:51.36ID:czwrZ62f116デフォルトの名無しさん
2021/12/23(木) 12:30:01.85ID:fgU7IqZ311791
2021/12/23(木) 12:52:17.35ID:czwrZ62f118デフォルトの名無しさん
2021/12/23(木) 18:54:52.16ID:vyeaRFwP (?<![\h:])(?:(\h{1,4}:)(?:(:\h{1,4}){1,6}|:)|\g'1'{2}(?:\g'2'{1,5}|:)|\g'1'{3}(?:\g'2'{1,4}|:)|\g'1'{4}(?:\g'2'{1,3}|:)|\g'1'{5}(?:\g'2'{1,2}|:)|\g'1'{6}(?:\g'2'{1}|:)|\g'1'{7}(?:\h{1,4}|:))(?![\h:])
120デフォルトの名無しさん
2021/12/23(木) 20:41:17.01ID:XObIp/CD >>113
\sに改行が含まれるからでしょ
Rubyとかなら0x09〜0x0D(水平タブHT,LF改行,垂直タブVT,改頁,CR改行)と0x20(スペース)
サクラエディタの鬼雲なら上記に加えて、
その他の改行種(NEL,PS,LS)や空白種(全角スペースやNBSPなど)
\sに改行が含まれるからでしょ
Rubyとかなら0x09〜0x0D(水平タブHT,LF改行,垂直タブVT,改頁,CR改行)と0x20(スペース)
サクラエディタの鬼雲なら上記に加えて、
その他の改行種(NEL,PS,LS)や空白種(全角スペースやNBSPなど)
121デフォルトの名無しさん
2021/12/23(木) 21:45:21.05ID:vyeaRFwP ([0-9a-f]{1,4}:)(?:(:[0-9a-f]{1,4}){1,6}|:)|\g'1'{2}(?:\g'2'{1,5}|:)|\g'1'{3}(?:\g'2'{1,4}|:)|\g'1'{4}(?:\g'2'{1,3}|:)|\g'1'{5}(?:\g'2'{1,2}|:)|\g'1'{6}(?:\g'2'{1}|:)|\g'1'{7}(?:[0-9a-f]{1,4}|:)
(?<![0-9a-f:])(?:([0-9a-f]{1,4}:)(?:(:[0-9a-f]{1,4}){1,6}|:)|\g'1'{2}(?:\g'2'{1,5}|:)|\g'1'{3}(?:\g'2'{1,4}|:)|\g'1'{4}(?:\g'2'{1,3}|:)|\g'1'{5}(?:\g'2'{1,2}|:)|\g'1'{6}(?:\g'2'{1}|:)|\g'1'{7}(?:[0-9a-f]{1,4}|:))(?![0-9a-f:])
(?<![0-9a-f])(?:([0-9a-f]{1,4}:)(?:(:[0-9a-f]{1,4}){1,6}|:)|\g'1'{2}(?:\g'2'{1,5}|:)|\g'1'{3}(?:\g'2'{1,4}|:)|\g'1'{4}(?:\g'2'{1,3}|:)|\g'1'{5}(?:\g'2'{1,2}|:)|\g'1'{6}(?:\g'2'{1}|:)|\g'1'{7}(?:[0-9a-f]{1,4}|:))(?![0-9a-f:])
(?<![0-9a-f:])(?:([0-9a-f]{1,4}:)(?:(:[0-9a-f]{1,4}){1,6}|:)|\g'1'{2}(?:\g'2'{1,5}|:)|\g'1'{3}(?:\g'2'{1,4}|:)|\g'1'{4}(?:\g'2'{1,3}|:)|\g'1'{5}(?:\g'2'{1,2}|:)|\g'1'{6}(?:\g'2'{1}|:)|\g'1'{7}(?:[0-9a-f]{1,4}|:))(?![0-9a-f:])
(?<![0-9a-f])(?:([0-9a-f]{1,4}:)(?:(:[0-9a-f]{1,4}){1,6}|:)|\g'1'{2}(?:\g'2'{1,5}|:)|\g'1'{3}(?:\g'2'{1,4}|:)|\g'1'{4}(?:\g'2'{1,3}|:)|\g'1'{5}(?:\g'2'{1,2}|:)|\g'1'{6}(?:\g'2'{1}|:)|\g'1'{7}(?:[0-9a-f]{1,4}|:))(?![0-9a-f:])
122デフォルトの名無しさん
2021/12/24(金) 07:37:01.80ID:MVBh4BeN (([0-9a-f]{1,4}):){7}(?:\g'2'|:)|\g'1'{6}(?:(:\g'2')|:)|\g'1'{5}(?:\g'3'{1,2}|:)|\g'1'{4}(?:\g'3'{1,3}|:)|\g'1'{3}(?:\g'3'{1,4}|:)|\g'1'{2}(?:\g'3'{1,5}|:)|\g'1'(?:\g'3'{1,6}|:)
123デフォルトの名無しさん
2021/12/24(金) 12:59:57.29ID:OtUQWwNp 短くするの?
(([0-9a-f]{1,4}):){7}(\g'2'|:)|(\g'1'()|(?=\5)(?!\6):()){1,6}\g'2'?(?=\6)
(([0-9a-f]{1,4}):){7}(\g'2'|:)|(\g'1'()|(?=\5)(?!\6):()){1,6}\g'2'?(?=\6)
124デフォルトの名無しさん
2021/12/24(金) 15:17:06.00ID:nz+3yICM すげえw
()で文字間の位置をキャプチャ出来る事もそれを参照で先読みで使える事も知らなかったわ
()で文字間の位置をキャプチャ出来る事もそれを参照で先読みで使える事も知らなかったわ
125デフォルトの名無しさん
2021/12/24(金) 16:07:46.99ID:TnoL0oNz126デフォルトの名無しさん
2021/12/24(金) 16:09:42.73ID:TnoL0oNz127デフォルトの名無しさん
2021/12/24(金) 23:23:23.50ID:zm3lCbTy128デフォルトの名無しさん
2021/12/25(土) 12:25:23.75ID:e5f15Ru5 世界でもトップレベルの秀才たちが決めた規格なのになんでこんなに扱いづらいんだ?
そういえばメールアドレスの規格も酷かったな〜(>>3の雑技を参照)
そういえばメールアドレスの規格も酷かったな〜(>>3の雑技を参照)
129デフォルトの名無しさん
2021/12/25(土) 12:36:10.52ID:JZM3mrrs むしろ 出来る人 は難しいかどうかが分からないからじゃない?
なんでこの程度の事でこの人たち四苦八苦してるんだろう、ってね
税制などと同じで敢えてややこしく作って仕事作ってるという側面もあるのかもね
なんでこの程度の事でこの人たち四苦八苦してるんだろう、ってね
税制などと同じで敢えてややこしく作って仕事作ってるという側面もあるのかもね
130デフォルトの名無しさん
2021/12/25(土) 12:50:35.23ID:e5f15Ru5 頭が良すぎるのも考えものだな、IT土方の気持ちなんて分からないだろうな
頭が良すぎる人の考える正規表現は大抵論理的に正しく動くが
検索効率を上げる書き方には興味が無いらしく強欲を使ったり
今回のIP6の例で言えば先頭に (?=[\h:]{6}) を置いて検索スピードを
上げようというIT土方ならではの実践的手法が使われないことが多い ex. >>125
頭が良すぎる人の考える正規表現は大抵論理的に正しく動くが
検索効率を上げる書き方には興味が無いらしく強欲を使ったり
今回のIP6の例で言えば先頭に (?=[\h:]{6}) を置いて検索スピードを
上げようというIT土方ならではの実践的手法が使われないことが多い ex. >>125
131デフォルトの名無しさん
2021/12/25(土) 13:00:34.13ID:Qk7G85M2 老舗旅館の増築みたいなもんでしょ
後方互換性を保とうとしたらそうならざるを得ない
MS-DOSをひきずるWindowsのようなもん
後方互換性を保とうとしたらそうならざるを得ない
MS-DOSをひきずるWindowsのようなもん
132デフォルトの名無しさん
2021/12/25(土) 13:21:44.54ID:e5f15Ru5 windowsは増築しすぎてグシャっといきそうになってるね
133デフォルトの名無しさん
2021/12/25(土) 13:46:31.03ID:JZM3mrrs まあ俺も底辺ドカタの気持ちなんてさっぱりだわ悪いけどw
134デフォルトの名無しさん
2021/12/25(土) 14:30:45.29ID:y5wYV+SA ね
135デフォルトの名無しさん
2021/12/25(土) 14:38:13.23ID:e5f15Ru5136デフォルトの名無しさん
2021/12/25(土) 20:41:20.89ID:y5wYV+SA 無法地帯
137デフォルトの名無しさん
2021/12/25(土) 22:12:05.75ID:e5f15Ru5 kkosさんここ見に来てるかな
https://github.com/kkos/oniguruma/blob/master/doc/RE.ja
539行目
× + 不在停止 (?|...)
〇 + 不在停止 (?~|...)
来年はISO-2022-JPの年、今年も1年お疲れ様
https://github.com/kkos/oniguruma/blob/master/doc/RE.ja
539行目
× + 不在停止 (?|...)
〇 + 不在停止 (?~|...)
来年はISO-2022-JPの年、今年も1年お疲れ様
138デフォルトの名無しさん
2021/12/26(日) 10:52:57.40ID:XNM+0b8X139デフォルトの名無しさん
2021/12/27(月) 00:34:46.64ID:BHlowg/U140139
2021/12/27(月) 19:30:29.63ID:BHlowg/U あれ、でも他の分岐に行っても保持されるのならどの分岐を抜けてきたかの
判断はどうやってするんだろう?
繰り返しをしてる中ですべての分岐で保持が成功していたら区別が付かない
まぁ正規表現でやらずにコード書けばいいだけだけど
判断はどうやってするんだろう?
繰り返しをしてる中ですべての分岐で保持が成功していたら区別が付かない
まぁ正規表現でやらずにコード書けばいいだけだけど
141デフォルトの名無しさん
2021/12/28(火) 01:38:40.34ID:e4meyx5L 高度IT人材、富士通は最大年収3500万円へ
「富士通年収3500万!」日本のIT企業の年収も、高額化してきました
AI人材の獲得に超本気 NECが新人事制度を9人に適用、富士通は最大年収3500万円へ
【年収3500万円も】富士通、「ジョブ型」人事制度を導入 幹部社員から 高度IT人材
来年度から副業解禁 人材多様化へ―大同生命次期社長
副業・兼務の解禁から4年、ロート製薬流で進めるキャリア支援
ロート製薬が副業をいち早く導入した「超人間的」な理由
ロート製薬会長が「副業を受け入れない会社は発展しない」と断言する理由
「富士通年収3500万!」日本のIT企業の年収も、高額化してきました
AI人材の獲得に超本気 NECが新人事制度を9人に適用、富士通は最大年収3500万円へ
【年収3500万円も】富士通、「ジョブ型」人事制度を導入 幹部社員から 高度IT人材
来年度から副業解禁 人材多様化へ―大同生命次期社長
副業・兼務の解禁から4年、ロート製薬流で進めるキャリア支援
ロート製薬が副業をいち早く導入した「超人間的」な理由
ロート製薬会長が「副業を受け入れない会社は発展しない」と断言する理由
142デフォルトの名無しさん
2021/12/28(火) 08:15:55.40ID:2qR0ux8Z 富士通は電子カルテがクソ
143デフォルトの名無しさん
2021/12/28(火) 11:45:39.94ID:6tSOSnH1 捕獲したものを手放してnilに戻すメタ文字があればいいのか?
# \2, \3, \4 の中身をnilにするメモリクリア
\mc{2-4} or \mc{2,3,4}
中身をクリア出来るなら任意の文字列の代入も出来る
# \2, \3, \4の中身を書き換え
\m{2=foo,3=bar,4=hoge}
(?{code})が使えない環境では重宝する機能になる
当然名前付きのものも書き換えられるようにするのが望ましい
# \2, \3, \4 の中身をnilにするメモリクリア
\mc{2-4} or \mc{2,3,4}
中身をクリア出来るなら任意の文字列の代入も出来る
# \2, \3, \4の中身を書き換え
\m{2=foo,3=bar,4=hoge}
(?{code})が使えない環境では重宝する機能になる
当然名前付きのものも書き換えられるようにするのが望ましい
144デフォルトの名無しさん
2021/12/30(木) 00:46:28.20ID:Z0Yaemgr >>126
https://www.perlmonks.org/?displaytype=displaycode;node_id=1226069
これすご、理論屋さんの作った芸術作品て感じ
貪欲の繰り返しがどう動くかを分かってないとこれは書けないし
(*F)の入れ方も無駄がなくて素晴らしい
https://www.perlmonks.org/?displaytype=displaycode;node_id=1226069
これすご、理論屋さんの作った芸術作品て感じ
貪欲の繰り返しがどう動くかを分かってないとこれは書けないし
(*F)の入れ方も無駄がなくて素晴らしい
145デフォルトの名無しさん
2021/12/30(木) 19:53:03.05ID:Z0Yaemgr IPv6アドレスのテキスト表記
https://www.youtube.com/watch?v=EvIUZwkGWQE
予想以上に自由度が高くてワロタ
>>91にまともな回答が付かないのは必然だったのか
正規表現を作れたとしてもサクラエディタの検索欄にはたぶん入らないね
https://www.youtube.com/watch?v=EvIUZwkGWQE
予想以上に自由度が高くてワロタ
>>91にまともな回答が付かないのは必然だったのか
正規表現を作れたとしてもサクラエディタの検索欄にはたぶん入らないね
146デフォルトの名無しさん
2021/12/30(木) 20:19:42.39ID:Z0Yaemgr そもそもIPを簡単に取り出せないようなデータというのはどんなデータだったんだろ?
普通はIPならIPと分かるようなデータの入れ方をする
非包含オペレータ (absence operator) (実験的)
https://docs.ruby-lang.org/ja/latest/doc/spec=2fregexp.html#absenceop
>例えば (?~abc) は "", "ab", "aab", "abb", "ccdd" などにはマッチしますが、
>"abc", "aabc", "ccabcdd" などにはマッチしません。
この説明では意味が伝わりにくいな
"例えば ^(?~abc)$ は" に修正したほうがいい
鬼雲は放置気味だけどこの先どうするのかな
普通はIPならIPと分かるようなデータの入れ方をする
非包含オペレータ (absence operator) (実験的)
https://docs.ruby-lang.org/ja/latest/doc/spec=2fregexp.html#absenceop
>例えば (?~abc) は "", "ab", "aab", "abb", "ccdd" などにはマッチしますが、
>"abc", "aabc", "ccabcdd" などにはマッチしません。
この説明では意味が伝わりにくいな
"例えば ^(?~abc)$ は" に修正したほうがいい
鬼雲は放置気味だけどこの先どうするのかな
147デフォルトの名無しさん
2021/12/30(木) 22:40:15.48ID:HA6WwjkY148デフォルトの名無しさん
2021/12/30(木) 23:19:26.02ID:Z0Yaemgr >>147
これはperl等でパーサを作って検索すべき案件だろうから
テキストエディタではなかなか厳しいね
正規表現の基本的なことで分からないことがあったらまた聞きに来てね
上の正規表現の猛者たちよりも親切な回答を付けるよw
これはperl等でパーサを作って検索すべき案件だろうから
テキストエディタではなかなか厳しいね
正規表現の基本的なことで分からないことがあったらまた聞きに来てね
上の正規表現の猛者たちよりも親切な回答を付けるよw
149デフォルトの名無しさん
2022/01/01(土) 01:28:53.52ID:h8w5g6J4 [あ-うけてめでとおござします]+
150デフォルトの名無しさん
2022/01/01(土) 18:17:24.41ID:bYLu/xf5 ^(?~厄)$
151デフォルトの名無しさん
2022/01/01(土) 21:13:00.82ID:ZbTXyVwF .replace(/謹/g,'新年')
152デフォルトの名無しさん
2022/01/02(日) 00:08:00.18ID:Ez7RAQeW 2022-01-01【ランダムな文字列】
の【ランダムな文字列】にマッチさせるにはどのように書いたら良いですか?
の【ランダムな文字列】にマッチさせるにはどのように書いたら良いですか?
153デフォルトの名無しさん
2022/01/02(日) 00:24:32.24ID:1LGQCNAT テンプレを読めるようになってから出直そう
154デフォルトの名無しさん
2022/01/02(日) 01:16:44.72ID:xTWkFa8M Onigmo の非包含オペレータのバグを再現する方法
https://github.com/tonco-miyazawa/regex_etc/blob/master/Absence_reappear_bug.txt
>>152 正規表現エンジンは何?
https://github.com/tonco-miyazawa/regex_etc/blob/master/Absence_reappear_bug.txt
>>152 正規表現エンジンは何?
155デフォルトの名無しさん
2022/01/02(日) 01:27:24.76ID:4Qt0RmdX (?<=^2022-01-01).++$
156デフォルトの名無しさん
2022/01/02(日) 02:23:07.29ID:q3p7RZao なんで強欲?
157デフォルトの名無しさん
2022/01/03(月) 03:43:07.67ID:BhOVhgCg サクラエディタおじさんなのだが
よほど古くなければ検索文字数に上限はほぼない
ただし履歴とウインドウ間共有には259文字の上限がある
再利用にはマクロにしておくべし
あとWindowsダイアログの1行エディットコントロールには文字列幅が32767pxを超えると真っ白になるバグがある
正規表現キーワードは1000文字
よほど古くなければ検索文字数に上限はほぼない
ただし履歴とウインドウ間共有には259文字の上限がある
再利用にはマクロにしておくべし
あとWindowsダイアログの1行エディットコントロールには文字列幅が32767pxを超えると真っ白になるバグがある
正規表現キーワードは1000文字
158デフォルトの名無しさん
2022/01/03(月) 19:36:44.28ID:X+IIU15J 今時の正規表現エンジンを使えるエディタなら3000文字くらいは許容して欲しい
欲を言えば正規表現をテキストエディタ画面で作ってそのまま実行出来るように
なったらいいな、/x オプションが設定されるのがデフォで・・
Jane用に作った鬼雲用の正規表現は1600文字超だった
https://github.com/tonco-miyazawa/regex_etc/blob/master/ReplaceStr_Part11_res549.txt
欲を言えば正規表現をテキストエディタ画面で作ってそのまま実行出来るように
なったらいいな、/x オプションが設定されるのがデフォで・・
Jane用に作った鬼雲用の正規表現は1600文字超だった
https://github.com/tonco-miyazawa/regex_etc/blob/master/ReplaceStr_Part11_res549.txt
159デフォルトの名無しさん
2022/01/03(月) 21:53:14.12ID:Pucsg4jY 常用漢字表外漢字を検索する正規表現をお願いします!
160デフォルトの名無しさん
2022/01/03(月) 23:25:26.42ID:Rgi2CjE6 テキストエディタをまた〜り語ろう ver.25
https://pc11.2ch.net/test/read.cgi/software/1201173972/193
193 174 sage 2008/02/19(火) 03:19:25 ID:W6zn4Vm/0
K2Editorが検索テキストボックスに20000桁超の文字列入れられるから
正規表現「|」でつないだOR検索するのに便利ってだけなんだけどね
(秀丸はそもそもOR検索で「|」が10個くらいまでしか使えないという制限がある
サクラエディタは検索条件テキストボックスに258桁までしか入力できない)
他にはEmEditorが優秀な部類で検索条件に数千桁までは指定できたんだけど、
20000桁はさすがに無理でしたw
https://pc11.2ch.net/test/read.cgi/software/1201173972/193
193 174 sage 2008/02/19(火) 03:19:25 ID:W6zn4Vm/0
K2Editorが検索テキストボックスに20000桁超の文字列入れられるから
正規表現「|」でつないだOR検索するのに便利ってだけなんだけどね
(秀丸はそもそもOR検索で「|」が10個くらいまでしか使えないという制限がある
サクラエディタは検索条件テキストボックスに258桁までしか入力できない)
他にはEmEditorが優秀な部類で検索条件に数千桁までは指定できたんだけど、
20000桁はさすがに無理でしたw
161デフォルトの名無しさん
2022/01/04(火) 16:23:29.29ID:oLEgCIB5 2万文字じゃなくて2万桁か、入力して検索ボタン押したらエディタが凍りそう
こういうのをエディタでやろうとする人はスクリプト書けない人なのかな
こういうのをエディタでやろうとする人はスクリプト書けない人なのかな
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 中国国営メディア「沖縄は日本ではない」… ★5 [BFU★]
- 高市政権にパイプ役不在…日中高まる緊張 公明党の連立離脱影響、自民内にも懸念「自分でまいた種は自分で刈り取ってもらわないと」★2 [ぐれ★]
- 【速報】 高市政権、「日本版DOGE」を立ち上げ 米国で歳出削減をした「政府効率化省(DOGE)」になぞらえたもの [お断り★]
- 【速報】 日経平均の下落率3%超す、財政懸念で長期金利上昇 [お断り★]
- 【こんなの初めて…】民泊には既にキャンセルも 中国の渡航自粛で ★2 [ぐれ★]
- 台湾声明 「台湾は独立した主権国家、中国は台湾を統治したことがなく、中国は口出しする権利ない」 中国が高市首相に抗議で ★7 [お断り★]
- 【正論】有識者「高市早苗に合理的配慮をしなかった野党が悪い」 [175344491]
- 日経平均、49000円割れ 国賊高市を許すな [402859164]
- 日経平均、49000円割れ 国賊高市を許すな ★2 [402859164]
- 中国「高市が謝罪撤回しないとこれ全部なくなるけどどうする?」 [931948549]
- 高市政権「中国さん、日本はいつでも対話に応じるで」 [834922174]
- 吉村はん「高市さんは発言を撤回する必要ないですよ。中国の大阪総領事が謝罪すべき」 [256556981]
