[過去ログ] Regular Expression(正規表現) Part16 (1002レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
93: 2021/12/22(水)00:48 ID:zQqayV78(1) AAS
正直\dを[0-9]以外にもマッチさせる仕様ってどういう時に便利なのか今一つ分からん
94(2): 2021/12/22(水)03:24 ID:dkzRMG/Q(1) AAS
[0-469bc:]++
95(1): 2021/12/22(水)09:44 ID:dK2CjfaN(1/2) AAS
住所にしろ日付にしろ上から順に書いた方が齟齬が生じないだろうに
西洋文化圏のやつらは何が何でも省略しなきゃ気が済まないんだろうな
こんなもん略記許さない仕様の方が逆に全体的な効率は良いだろうに
フロッピーディスクの時代なら少しでも容量減らしたいのは分からなくも無いけど
96(2): 91 2021/12/22(水)10:25 ID:giUFecUL(1/6) AAS
>>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
省9
97: 2021/12/22(水)11:10 ID:j6Uulo2p(1) AAS
>>95
個人的な本名や住所が先頭に来るのは西洋文化圏というよりイスラム圏も含めた地中海世界
プログラミング言語だと名前空間が上から順で統一されてるのに不思議だよね
98(1): 2021/12/22(水)11:53 ID:dK2CjfaN(2/2) AAS
>>96
>>74と同じ手法でやればいいじゃない
99(1): 91 2021/12/22(水)12:01 ID:giUFecUL(2/6) AAS
>>98
ありがとうございます
どういうことでしょうか?例えば>>94さんの例を元にして下の通りにしてもIPv6以外に一致してしまいます
(?<![.0-9])([0-469bc:]++)(?![.0-9])
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}|:)
上下前次1-新書関写板覧索設栞歴
あと 880 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.027s