[過去ログ] Regular Expression(正規表現) Part16 (1002レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
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
むしろ 出来る人 は難しいかどうかが分からないからじゃない?
なんでこの程度の事でこの人たち四苦八苦してるんだろう、ってね
税制などと同じで敢えてややこしく作って仕事作ってるという側面もあるのかもね
130: 2021/12/25(土)12:50 ID:e5f15Ru5(2/5) AAS
頭が良すぎるのも考えものだな、IT土方の気持ちなんて分からないだろうな
頭が良すぎる人の考える正規表現は大抵論理的に正しく動くが
検索効率を上げる書き方には興味が無いらしく強欲を使ったり
今回のIP6の例で言えば先頭に (?=[\h:]{6}) を置いて検索スピードを
上げようというIT土方ならではの実践的手法が使われないことが多い ex. >>125
131: 2021/12/25(土)13:00 ID:Qk7G85M2(1) AAS
老舗旅館の増築みたいなもんでしょ
後方互換性を保とうとしたらそうならざるを得ない
MS-DOSをひきずるWindowsのようなもん
132: 2021/12/25(土)13:21 ID:e5f15Ru5(3/5) AAS
windowsは増築しすぎてグシャっといきそうになってるね
133: 2021/12/25(土)13:46 ID:JZM3mrrs(2/2) AAS
まあ俺も底辺ドカタの気持ちなんてさっぱりだわ悪いけどw
134: 2021/12/25(土)14:30 ID:y5wYV+SA(1/2) AAS
ね
135: 2021/12/25(土)14:38 ID:e5f15Ru5(4/5) AAS
たまにでいいからIT土方のことも考えて下さい
うちの会社で>>125みたいな正規表現を使ったら怒られます
チェック担当の子がヤムチャになっちゃったからやめてねって言われます
136: 2021/12/25(土)20:41 ID:y5wYV+SA(2/2) AAS
無法地帯
137(2): 2021/12/25(土)22:12 ID:e5f15Ru5(5/5) AAS
kkosさんここ見に来てるかな
外部リンク[ja]:github.com
539行目
× + 不在停止 (?|...)
〇 + 不在停止 (?~|...)
来年はISO-2022-JPの年、今年も1年お疲れ様
138(1): 2021/12/26(日)10:52 ID:XNM+0b8X(1) AAS
なんだこれ
鬼雲
外部リンク:ideone.com
139(1): 2021/12/27(月)00:34 ID:BHlowg/U(1/2) AAS
>>126
これやっと理解出来た、勉強になった、ありがとう
1、他の分岐に移っても捕獲したものは保持される
2、()が捕獲してないと\1は空文字列にマッチ出来ない
がキモになってるんだな
onigurumaの後方参照値有効性確認器でも同じことが出来そうだ
>>138
>>47
. は (?:a|b|c|........) と書き換えられる、すなわち分岐を含む正規表現だ
これだけじゃ説明付かない結果になってるけど . を使ってる以上考えても無駄かと
140: 139 2021/12/27(月)19:30 ID:BHlowg/U(2/2) AAS
あれ、でも他の分岐に行っても保持されるのならどの分岐を抜けてきたかの
判断はどうやってするんだろう?
繰り返しをしてる中ですべての分岐で保持が成功していたら区別が付かない
まぁ正規表現でやらずにコード書けばいいだけだけど
141: 2021/12/28(火)01:38 ID:e4meyx5L(1) AAS
高度IT人材、富士通は最大年収3500万円へ
「富士通年収3500万!」日本のIT企業の年収も、高額化してきました
AI人材の獲得に超本気 NECが新人事制度を9人に適用、富士通は最大年収3500万円へ
【年収3500万円も】富士通、「ジョブ型」人事制度を導入 幹部社員から 高度IT人材
来年度から副業解禁 人材多様化へ―大同生命次期社長
省3
142: 2021/12/28(火)08:15 ID:2qR0ux8Z(1) AAS
富士通は電子カルテがクソ
143: 2021/12/28(火)11:45 ID:6tSOSnH1(1) AAS
捕獲したものを手放してnilに戻すメタ文字があればいいのか?
# \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 ID:Z0Yaemgr(1/4) AAS
>>126
外部リンク:www.perlmonks.org
これすご、理論屋さんの作った芸術作品て感じ
貪欲の繰り返しがどう動くかを分かってないとこれは書けないし
(*F)の入れ方も無駄がなくて素晴らしい
145(1): 2021/12/30(木)19:53 ID:Z0Yaemgr(2/4) AAS
IPv6アドレスのテキスト表記
動画リンク[YouTube]
予想以上に自由度が高くてワロタ
>>91にまともな回答が付かないのは必然だったのか
正規表現を作れたとしてもサクラエディタの検索欄にはたぶん入らないね
上下前次1-新書関写板覧索設栞歴
あと 857 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.030s