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/11/17(水) 01:31:56.09ID:vtK5EVRE
[・ー└]|( ){3,} → 合ってる
[・ー└( ){3,}] → 間違い
[・ー└(( ){3,})] → 間違い
文字コードが uft-8 以外で書かれている文書を扱ってるとか?
そうなら python 文字コード でググって文書を uft-8 に変換してから split
[・ー└( ){3,}] → 間違い
[・ー└(( ){3,})] → 間違い
文字コードが uft-8 以外で書かれている文書を扱ってるとか?
そうなら python 文字コード でググって文書を uft-8 に変換してから split
2021/11/17(水) 02:52:26.84ID:CiQU0O+7
( → (?:
2021/11/17(水) 04:06:28.28ID:PbEjqT95
>>29
そもそも単文字なんだしグループにする必要なくね?
そもそも単文字なんだしグループにする必要なくね?
2021/11/17(水) 09:04:44.07ID:GPq3lXDW
2021/11/17(水) 10:12:43.95ID:A6BSd3Zu
正規表現に生の半角スペース使うのは一見気づきにくくて余り好きじゃないなぁ
\x20 にしない人多いのかな
\x20 にしない人多いのかな
2021/11/17(水) 10:36:58.04ID:6wJ0temu
俺は生派
\sを使う人もいるけど俺は嫌
\sを使う人もいるけど俺は嫌
2021/11/17(水) 10:39:17.25ID:GPq3lXDW
エディタの設定で可視化もできるしね。>半角スペース
2021/11/17(水) 10:39:47.05ID:6wJ0temu
this is a pen
を
this\x20is\x20a\x20pen
とかも嫌
を
this\x20is\x20a\x20pen
とかも嫌
2021/11/17(水) 10:56:31.05ID:A6BSd3Zu
文章になってるものまで生で使わないと言うわけじゃないけどな
ブラケットの中で使う場合なんかは生は避けたいわ
[ ]とかよく見かけるけど、分かりづらい
なお、\sは半角スペースを含むけどそれ自体じゃないので普通は区別して使うでしょ
ブラケットの中で使う場合なんかは生は避けたいわ
[ ]とかよく見かけるけど、分かりづらい
なお、\sは半角スペースを含むけどそれ自体じゃないので普通は区別して使うでしょ
3829
2021/11/17(水) 11:01:36.46ID:vtK5EVRE this[ ]is[ ]a[ ]pen
proxomitronのフィルタ職人をやってるときはこうやってた
今だと this\ is\ a\ pen かな? 使ったことないけどw
\s は環境によっては全角スぺにマッチするから気を付けないとね
proxomitronのフィルタ職人をやってるときはこうやってた
今だと this\ is\ a\ pen かな? 使ったことないけどw
\s は環境によっては全角スぺにマッチするから気を付けないとね
2021/11/17(水) 11:32:27.19ID:6wJ0temu
2021/11/17(水) 20:33:29.63ID:vtK5EVRE
Jane用の正規表現を掲示板に貼るときにはタブ文字のところを 【tab】 って
書き換えて貼ってたなぁ、しかしJane自体が廃れて使うことが無くなった
書き換えて貼ってたなぁ、しかしJane自体が廃れて使うことが無くなった
4127
2021/11/17(水) 23:51:26.36ID:pGjzwEdG 27です
こんなにも早く教えてくださってとても助かりました!
()が要らなかったんですね。勉強になります!
ありがとうございました!
こんなにも早く教えてくださってとても助かりました!
()が要らなかったんですね。勉強になります!
ありがとうございました!
4229
2021/11/19(金) 20:58:09.22ID:rZqXBgxj これの検証してみた
Absence operator is broken #150
https://github.com/k-takata/Onigmo/issues/150
・検証コード (ruby 3.0.2p107 (2021-07-07 revision 0db68f0233) [x64-mingw32])
p /(?~a.*[bv].*c)/.match("000a111v222c333b444c555")
・結果
#<MatchData "000a111v222c333b444">
a〜v〜c を含んでしまってるのでバグで確定
原因は最初にマッチした段階で検索を打ち切ってしまっていて
別のパターンを見逃している
別のパターンを見つける必要があることは非包含オペレータ提案者さんの論文で
図付きで説明されてるけどこれを見落としてしまったオチ?
直すには論文通りに実装すれば良いだけなので直せないことは無さそう
自分がプログラミング出来れば直したいけどミジンコなので手も足も出ず..
-------------------------------------------------------
>>41 おつー
Absence operator is broken #150
https://github.com/k-takata/Onigmo/issues/150
・検証コード (ruby 3.0.2p107 (2021-07-07 revision 0db68f0233) [x64-mingw32])
p /(?~a.*[bv].*c)/.match("000a111v222c333b444c555")
・結果
#<MatchData "000a111v222c333b444">
a〜v〜c を含んでしまってるのでバグで確定
原因は最初にマッチした段階で検索を打ち切ってしまっていて
別のパターンを見逃している
別のパターンを見つける必要があることは非包含オペレータ提案者さんの論文で
図付きで説明されてるけどこれを見落としてしまったオチ?
直すには論文通りに実装すれば良いだけなので直せないことは無さそう
自分がプログラミング出来れば直したいけどミジンコなので手も足も出ず..
-------------------------------------------------------
>>41 おつー
4329
2021/11/19(金) 23:35:42.78ID:rZqXBgxj ついでにもう1つだけ
Use of \K when the string to match after \K can be empty #152
https://github.com/k-takata/Onigmo/issues/152
これは \K を使ってゼロ幅マッチになった場合に次の検索開始位置が
予期せず1つ進んでしまう問題のようだ
gsubの仕様かなと思ったけど (?<=\w) と \w\K の2つが違う結果になるのは
違和感ある、\K での ゼロ幅マッチ後の pos を進まないようにすれば直りそう
takata先生の代わりにちゃちゃっと始末してくれるスーパーハカーさん募集
Use of \K when the string to match after \K can be empty #152
https://github.com/k-takata/Onigmo/issues/152
これは \K を使ってゼロ幅マッチになった場合に次の検索開始位置が
予期せず1つ進んでしまう問題のようだ
gsubの仕様かなと思ったけど (?<=\w) と \w\K の2つが違う結果になるのは
違和感ある、\K での ゼロ幅マッチ後の pos を進まないようにすれば直りそう
takata先生の代わりにちゃちゃっと始末してくれるスーパーハカーさん募集
4429
2021/11/20(土) 00:06:32.69ID:dCkHZW0G \K より前で文字を消費していない場合は pos は進まないようだ
/\K/ → pos進まず
/.\K/ → 予期せずpos進んでしまう
/\K/ → pos進まず
/.\K/ → 予期せずpos進んでしまう
2021/11/20(土) 13:49:08.95ID:S4adbGs3
>>42
イシュー150の起票者がオリジナルの鬼車作者さんやんけw
イシュー150の起票者がオリジナルの鬼車作者さんやんけw
4629
2021/11/20(土) 14:09:45.26ID:dCkHZW0G >>45 そうなんだよね、だから気になってた
-------------------------------------------------
>>42 とは別の検証をしてみた
p /(?~a.*b.*c|222)/.match("000a111b222c333")
#<MatchData "000a111b22">
これは期待通りにマッチした、これが正しく動くということは
論文の読み落としではないね、失礼しました
問題は同一posでマッチ文字数が最短になるマッチを見つけなければいけないが
それをしていないことみたいだ
この処理って結構な処理量になりそうだけど大丈夫なのかな?
オペレータ提案者さんのサンプルコードではどうなってるんだろ?
プログラムが読めないから対応出来てるのか分からない..
あまりに重いようなら量指定子を使えるようにしたほうが良いかもしれない
.* を .{0,1000} に書き換えて処理量を限定させるのと同じで
(?~abc){0,1000} みたいな指定が出来るようにすれば..
-------------------------------------------------
>>42 とは別の検証をしてみた
p /(?~a.*b.*c|222)/.match("000a111b222c333")
#<MatchData "000a111b22">
これは期待通りにマッチした、これが正しく動くということは
論文の読み落としではないね、失礼しました
問題は同一posでマッチ文字数が最短になるマッチを見つけなければいけないが
それをしていないことみたいだ
この処理って結構な処理量になりそうだけど大丈夫なのかな?
オペレータ提案者さんのサンプルコードではどうなってるんだろ?
プログラムが読めないから対応出来てるのか分からない..
あまりに重いようなら量指定子を使えるようにしたほうが良いかもしれない
.* を .{0,1000} に書き換えて処理量を限定させるのと同じで
(?~abc){0,1000} みたいな指定が出来るようにすれば..
4729
2021/11/25(木) 18:40:51.33ID:QsU6pq8j Onigmo のバグの原因となった個所が判明したので書いておこう
正規表現における非包含オペレータの提案
ttps://staff.aist.go.jp/tanaka-akira/pub/prosym49-akr-paper.pdf
この論文のサンプルコードに下記のメソッドがある
def try_alt(r1, r2, str, pos, &block)
try(r1, str, pos, &block)
try(r2, str, pos, &block)
end
これは正規表現で言うと r1|r2 の "|" にあたる動作をする部分のメソッドだが
このサンプルコードでは r1 のマッチが成功した後でも必ず r2 を試す仕様になっている
しかし Onigmo の検索方式では r1 がマッチした後に正規表現の最後までマッチが
成立した場合には r2 が試されない仕様になっている
これにより r2 を通る一部パターンが見落とされる結果となりバグとして出現した
論文中の非包含オペレータのメソッドである def try_absent(r, str, pos) は
上記の def try_alt を使う前提で書かれたものなのでこれをそのまま Onigmo には移植出来ない
サンプルコード方式での処理量を考えるとおそらくこれとはまったく別のアルゴリズムで動く
動作の軽いメソッドを自作しないと Onigmo には導入出来ないのではないだろうか..
正規表現における非包含オペレータの提案
ttps://staff.aist.go.jp/tanaka-akira/pub/prosym49-akr-paper.pdf
この論文のサンプルコードに下記のメソッドがある
def try_alt(r1, r2, str, pos, &block)
try(r1, str, pos, &block)
try(r2, str, pos, &block)
end
これは正規表現で言うと r1|r2 の "|" にあたる動作をする部分のメソッドだが
このサンプルコードでは r1 のマッチが成功した後でも必ず r2 を試す仕様になっている
しかし Onigmo の検索方式では r1 がマッチした後に正規表現の最後までマッチが
成立した場合には r2 が試されない仕様になっている
これにより r2 を通る一部パターンが見落とされる結果となりバグとして出現した
論文中の非包含オペレータのメソッドである def try_absent(r, str, pos) は
上記の def try_alt を使う前提で書かれたものなのでこれをそのまま Onigmo には移植出来ない
サンプルコード方式での処理量を考えるとおそらくこれとはまったく別のアルゴリズムで動く
動作の軽いメソッドを自作しないと Onigmo には導入出来ないのではないだろうか..
4829
2021/11/25(木) 19:06:15.35ID:QsU6pq8j 論文3ページ目の右半分に 表3 がある
r1r2 | [:seq, r1, r2]
ここの :seq は r1 と r2 を連接するという意味で使われているが
サンプルコードでは :seq を使わず :cat になっている
ここで疑問なのが何故違う名前を使うことになったのか? である
(仮説1) 非包含オペレータ提案者さんは猫が好き
ごろにゃんしながらバックトラックにゃん である
(仮説2) cat は Unix でよく使われる連結コマンドであり catenate から由来する
これもなかなかの難問である
r1r2 | [:seq, r1, r2]
ここの :seq は r1 と r2 を連接するという意味で使われているが
サンプルコードでは :seq を使わず :cat になっている
ここで疑問なのが何故違う名前を使うことになったのか? である
(仮説1) 非包含オペレータ提案者さんは猫が好き
ごろにゃんしながらバックトラックにゃん である
(仮説2) cat は Unix でよく使われる連結コマンドであり catenate から由来する
これもなかなかの難問である
49デフォルトの名無しさん
2021/11/29(月) 20:58:37.88ID:ZJywLyaD ある短い英単語が文章に含まれているかどうかを判定したいのですが、
他の英単語の一部に含まれているようなときは除外したいです。
例:検索単語:ap、
○:ap is short of...
○:これはapです
NG:pen pineapple apple pen
つまり、『単語の前後に文字がある場合は、それらがアルファベットでない』という条件を加えたいのですが、
これの実現方法に詰まっています。
[^a-zA-Z]ap[^a-zA-Z]
の至るところに、.*や*や+を様々なパターン試したのですがうまく行かず。。。
うまく行ったと思っても、指定単語が文頭や文末に来て、前後のどちらかに文字がないときはうまく行きません。
どなたかご教授頂けませんでしょうか。
他の英単語の一部に含まれているようなときは除外したいです。
例:検索単語:ap、
○:ap is short of...
○:これはapです
NG:pen pineapple apple pen
つまり、『単語の前後に文字がある場合は、それらがアルファベットでない』という条件を加えたいのですが、
これの実現方法に詰まっています。
[^a-zA-Z]ap[^a-zA-Z]
の至るところに、.*や*や+を様々なパターン試したのですがうまく行かず。。。
うまく行ったと思っても、指定単語が文頭や文末に来て、前後のどちらかに文字がないときはうまく行きません。
どなたかご教授頂けませんでしょうか。
2021/11/29(月) 21:09:24.49ID:be+dUloq
51デフォルトの名無しさん
2021/11/29(月) 21:22:37.81ID:ZJywLyaD こんなに早く教えていただいてありがとうございます。
試してみたのですが、うまく行きませんでした。検証方法間違ってますでしょうか?
----------------
value="abc ap abc"
pattern = "(?<![a-zA-Z])ap(?![a-zA-Z])"
re.match(pattern, value)
※何も取得できず
----------------
試してみたのですが、うまく行きませんでした。検証方法間違ってますでしょうか?
----------------
value="abc ap abc"
pattern = "(?<![a-zA-Z])ap(?![a-zA-Z])"
re.match(pattern, value)
※何も取得できず
----------------
2021/11/29(月) 21:35:41.08ID:7mT4ej7+
re.matchじゃなくてre.search
matchは先頭位置からしかマッチするか調べない
matchは先頭位置からしかマッチするか調べない
2021/11/29(月) 21:41:33.24ID:be+dUloq
ところで
ap'sとかap-dataとかもろもろの扱いはいいのか?
ap'sとかap-dataとかもろもろの扱いはいいのか?
54デフォルトの名無しさん
2021/11/29(月) 22:02:03.30ID:ZJywLyaD5529
2021/12/06(月) 21:53:22.08ID:S5ugmQVz rubyのコードが読めたから調子に乗って鬼車のソースからのインストールと
simple.c の実行に挑戦してみたら成功するまで10日くらいかかった
win10 パソコンで VMware を動かして中に ubuntu 20.04 を入れて
oniguruma 6.9.7 をインストした
あとは C言語で書かれたサンプルコードを解析すれば oniguruma の
色々なオプションを試せるようになる..
Unix も C言語 も知らないしプログラマでもないミジンコだけどググりまくれば
意外と何とかなりそうだ、次は Onigmo を入れよう..
simple.c の実行に挑戦してみたら成功するまで10日くらいかかった
win10 パソコンで VMware を動かして中に ubuntu 20.04 を入れて
oniguruma 6.9.7 をインストした
あとは C言語で書かれたサンプルコードを解析すれば oniguruma の
色々なオプションを試せるようになる..
Unix も C言語 も知らないしプログラマでもないミジンコだけどググりまくれば
意外と何とかなりそうだ、次は Onigmo を入れよう..
5629
2021/12/07(火) 02:27:56.29ID:gbEOg3vj Onigmo もインスト出来たけど simple.c の実行結果がおかしい
// oniguruma の場合
match at 4
0: (4-14)
1: (5-13)
// Onigmo の場合
match at 4
0: (21474836484-55834574862)
1: (0-0)
インスト失敗か?
README_japanese に書いてある "onig-config --cflags" での構成確認は
oniguruma と Onigmo で同じコマンドだけど共通のコマンドなのかな?
両方入れたからどっちの構成を確認してるのか分からない
// oniguruma の場合
match at 4
0: (4-14)
1: (5-13)
// Onigmo の場合
match at 4
0: (21474836484-55834574862)
1: (0-0)
インスト失敗か?
README_japanese に書いてある "onig-config --cflags" での構成確認は
oniguruma と Onigmo で同じコマンドだけど共通のコマンドなのかな?
両方入れたからどっちの構成を確認してるのか分からない
5729
2021/12/07(火) 04:28:00.86ID:gbEOg3vj ↑の構成確認の件はOnigmo の README.ja の 111 〜 114 行目 が
oniguruma の説明のままなだけだった、takata先生更新を..
.ja が付いてない英語版も同様です
github の Onigmo のトップページでは正しく
"onigmo-config --cflags" と書いてありました
oniguruma の説明のままなだけだった、takata先生更新を..
.ja が付いてない英語版も同様です
github の Onigmo のトップページでは正しく
"onigmo-config --cflags" と書いてありました
5829
2021/12/07(火) 15:13:24.06ID:gbEOg3vj ↑ の件ですが README.ja の 61 行目の
> 以下、鬼車の README.ja:
を見落としておりました、鬼車の説明書きのコピペだったのね..orz
>>56 の Onigmo の結果がおかしかったのも↓で正常動作しました
間違い: cc sample.c -L/usr/local/lib -lonig
正しい: cc sample.c -L/usr/local/lib -lonigmo
お騒がせして申し訳ありません m(__)m
> 以下、鬼車の README.ja:
を見落としておりました、鬼車の説明書きのコピペだったのね..orz
>>56 の Onigmo の結果がおかしかったのも↓で正常動作しました
間違い: cc sample.c -L/usr/local/lib -lonig
正しい: cc sample.c -L/usr/local/lib -lonigmo
お騒がせして申し訳ありません m(__)m
5929
2021/12/14(火) 23:52:24.48ID:hRBVXs3o perl5と鬼車、鬼雲の動作を比べて遊んでたらperl5の変な挙動を発見
\d{1} の {1} を付けるか消すかで結果が変わる
---------------------------
my $str = '12';
$str =~ s/(?<name>\d{1}){0}(?&name)/<match=$&>/;
print "$str\r\n";
---------------------------
↓{0} での定義を (?(DEFINE) ... ) に変えると正常動作する
---------------------------
my $str = '12';
$str =~ s/(?(DEFINE)(?<name>\d{1}))(?&name)/<match=$&>/;
print "$str\r\n";
---------------------------
perl 5, version 32, subversion 1 (v5.32.1) built for MSWin32-x64-multi-thread
\d{1} の {1} を付けるか消すかで結果が変わる
---------------------------
my $str = '12';
$str =~ s/(?<name>\d{1}){0}(?&name)/<match=$&>/;
print "$str\r\n";
---------------------------
↓{0} での定義を (?(DEFINE) ... ) に変えると正常動作する
---------------------------
my $str = '12';
$str =~ s/(?(DEFINE)(?<name>\d{1}))(?&name)/<match=$&>/;
print "$str\r\n";
---------------------------
perl 5, version 32, subversion 1 (v5.32.1) built for MSWin32-x64-multi-thread
6029
2021/12/15(水) 05:01:54.34ID:+lf8SrwJ ・ {0} での定義ではマッチせず
---------------------------
my $str = '123';
$str =~ s/(?<name>123){0}(?&name)/<match=$&>/;
print "$str\r\n";
・DEFINEを使うと正常動作する
---------------------------
my $str = '123';
$str =~ s/(?(DEFINE)(?<name>123))(?&name)/<match=$&>/;
print "$str\r\n";
---------------------------
perl5 では {0} で定義するのは想定外?
---------------------------
my $str = '123';
$str =~ s/(?<name>123){0}(?&name)/<match=$&>/;
print "$str\r\n";
・DEFINEを使うと正常動作する
---------------------------
my $str = '123';
$str =~ s/(?(DEFINE)(?<name>123))(?&name)/<match=$&>/;
print "$str\r\n";
---------------------------
perl5 では {0} で定義するのは想定外?
6129
2021/12/16(木) 22:14:43.92ID:0VSoy2O4 onigurumaの非包含オペレータの動作が論文と違う
正規表現 ^(?~abc) をテキスト 0123abcd に対して検索して比較すると..
論文の動作 : 0123ab がマッチする
onigurumaの動作 : 0123 がマッチする
逆に Onigmo は分岐が含まれない正規表現なら論文通りに動作するので
この場合は論文と同じ動作をする
動作的には ((?!abc).)* と同じなので論文で指摘されているように
形式言語理論から逸脱しているし、後ろに続く正規表現によっては
マッチ出来ずに検索が終わってしまうケースが発生する 例、 ^(?~abc)c
非包含オペレータは提案から14年経ってもなお未完のままということに..
正規表現 ^(?~abc) をテキスト 0123abcd に対して検索して比較すると..
論文の動作 : 0123ab がマッチする
onigurumaの動作 : 0123 がマッチする
逆に Onigmo は分岐が含まれない正規表現なら論文通りに動作するので
この場合は論文と同じ動作をする
動作的には ((?!abc).)* と同じなので論文で指摘されているように
形式言語理論から逸脱しているし、後ろに続く正規表現によっては
マッチ出来ずに検索が終わってしまうケースが発生する 例、 ^(?~abc)c
非包含オペレータは提案から14年経ってもなお未完のままということに..
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の雑技を参照)
■ このスレッドは過去ログ倉庫に格納されています
