[過去ログ] Regular Expression(正規表現) Part16 (1002レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
100: 2021/12/22(水)16:45 ID:rmiXIWtW(1) AAS
IP アドレスの正規表現ぐらい、公式が発表しているのでは?
101
(1): 2021/12/22(水)17:23 ID:Q/8wGtmi(1/3) AAS
>>99
最小がわからんので{8,}は適当だが、例文の限りではこれでいける。
ちょいと調べたら16進数とのことなので0-9,a-fなんでないの?
[0-9a-f:]{8,}
102: 2021/12/22(水)17:29 ID:SKIY34Ty(1) AAS
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
103
(1): 91 2021/12/22(水)17:33 ID:giUFecUL(3/6) AAS
>>101
ありがとうございます
それだと16:54:09みたいな日付にも一致してしまいました
104
(1): 2021/12/22(水)17:41 ID:Q/8wGtmi(2/3) AAS
>>103
そのパターン限定なら{8,}を{15,}とかで回避できる
105
(1): 91 2021/12/22(水)17:52 ID:giUFecUL(4/6) AAS
>>104
ありがとうございます
{9,}にしたら出来ました!

ちなみにこういうものに一致しないようにする方法はありますか?
:2603:1096:604:bc::9 ←先頭に:がある
こういう出現はないはずなんですが、もし簡単な正規表現の追加で出来たら嬉しいなあと
106: 91 2021/12/22(水)17:58 ID:giUFecUL(5/6) AAS
>>105
出来た・・・と思ったんですが、文字数の調整で対応できない数字や英字の連続に一致してしまいダメでした
107
(1): 2021/12/22(水)18:06 ID:Q/8wGtmi(3/3) AAS
これでどう?
ただし頭:への対応は無理
([0-9a-f:]+:){4,}[0-9a-f]+
108
(4): 91 2021/12/22(水)18:17 ID:giUFecUL(6/6) AAS
>>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]*
109: 2021/12/22(水)18:29 ID:G1M4O4Y+(1) AAS
>>108
ところどころfe80とかffffみたいにベタ書きしてるのはなぜ?
110: 2021/12/22(水)21:01 ID:++/G/dKU(1) AAS
忘年会ネタにどうぞ
外部リンク[txt]:github.com
外部リンク[txt]:github.com
111
(1): 2021/12/23(木)03:07 ID:0XYH//o1(1) AAS
(?<!\h)(IPv6の正規表現ググレカス)(?!\h)
112
(1): 2021/12/23(木)09:13 ID:fgU7IqZ3(1/3) AAS
>>108
>08d9c24701be
([0-9a-f:]+:){4,}[0-9a-f]+
俺の環境ではマッチしないし、しないはずだけど?
113
(2): 2021/12/23(木)09:14 ID:fgU7IqZ3(2/3) AAS
>>108
ちなみにipv6の正規表現で検索して色々出てきたけど、下のやつから頭とお尻の(^$)とるとマッチするんだが、改行が含まれてしまう。
他は>>96がイレギュラーすぎてマッチしないのが多い。

外部リンク[html]:tech-uh-oh.blogspot.com
114
(1): 91 2021/12/23(木)12:05 ID:czwrZ62f(1/4) AAS
>>111
ありがとうございます
IPv6の正規表現も含めて教えてほしいです

>>112
ありがとうございます
すみません、もう一度試したところ08d9c24701beには一致しませんでした
これは対象データと希望する結果に書き忘れていたのですが、
教えてもらった([0-9a-f:]+:){4,}[0-9a-f]+だと2002:a05:622a:15cc::に一致しませんでした
115: 91 2021/12/23(木)12:10 ID:czwrZ62f(2/4) AAS
>>113
度々ありがとうございます
そのURLにある正規表現だと長すぎてサクラエディタに登録できませんでした
116
(1): 2021/12/23(木)12:30 ID:fgU7IqZ3(3/3) AAS
>>114
([0-9a-f:]+:){4,}[0-9a-f:]+にすれば、それもマッチするけど
また要らないがマッチする可能性も出てくる。
117: 91 2021/12/23(木)12:52 ID:czwrZ62f(3/4) AAS
>>116
何度もありがとうございます
1つの正規表現にまとめることにこだわらずに、
>>116で教えてもらったものと>>108の2つで対応したいと思います
どうもありがとうございました

>>108だと以下のようなものが一致せず困っていたので・・・
2001:db8::1:0:0:1
2001:db8::0:1:0:0:1
2001:0db8::1:0:0:1
118
(1): 2021/12/23(木)18:54 ID:vyeaRFwP(1/2) AAS
(?<![\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:])
119: 91 2021/12/23(木)18:57 ID:czwrZ62f(4/4) AAS
>>118
わたし宛でしょうか?
それを試したら何にも一致しませんでした・・・
120: 2021/12/23(木)20:41 ID:XObIp/CD(1) AAS
>>113
\sに改行が含まれるからでしょ

Rubyとかなら0x09〜0x0D(水平タブHT,LF改行,垂直タブVT,改頁,CR改行)と0x20(スペース)

サクラエディタの鬼雲なら上記に加えて、
その他の改行種(NEL,PS,LS)や空白種(全角スペースやNBSPなど)
121: 2021/12/23(木)21:45 ID:vyeaRFwP(2/2) AAS
([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:])
122: 2021/12/24(金)07:37 ID:MVBh4BeN(1) AAS
(([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
(1): 2021/12/24(金)12:59 ID:OtUQWwNp(1) AAS
短くするの?
(([0-9a-f]{1,4}):){7}(\g'2'|:)|(\g'1'()|(?=\5)(?!\6):()){1,6}\g'2'?(?=\6)
124
(1): 2021/12/24(金)15:17 ID:nz+3yICM(1) AAS
すげえw
()で文字間の位置をキャプチャ出来る事もそれを参照で先読みで使える事も知らなかったわ
125
(3): 2021/12/24(金)16:07 ID:TnoL0oNz(1/2) AAS
>>124
ごめん、先読みにする必要なかった
(([0-9a-f]{1,4}):){7}(\g'2'|:)|(\g'1'()|\5(?!\6):()){1,6}\g'2'?\6
126
(2): 2021/12/24(金)16:09 ID:TnoL0oNz(2/2) AAS
外部リンク:www.perlmonks.org
127: 2021/12/24(金)23:23 ID:zm3lCbTy(1) AAS
>>125
その表現だと↓みたいなポート番号にまで一致しちゃうYO!
2001:db8::1:80
これは表記がそもそも推奨されないからいいっちゃいいけど
128: 2021/12/25(土)12:25 ID:e5f15Ru5(1/5) AAS
世界でもトップレベルの秀才たちが決めた規格なのになんでこんなに扱いづらいんだ?
そういえばメールアドレスの規格も酷かったな〜(>>3の雑技を参照)
129: 2021/12/25(土)12:36 ID:JZM3mrrs(1/2) AAS
むしろ 出来る人 は難しいかどうかが分からないからじゃない?
なんでこの程度の事でこの人たち四苦八苦してるんだろう、ってね
税制などと同じで敢えてややこしく作って仕事作ってるという側面もあるのかもね
1-
あと 873 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.021s