[過去ログ]
Regular Expression(正規表現) Part14 [無断転載禁止]©2ch.net (1002レス)
Regular Expression(正規表現) Part14 [無断転載禁止]©2ch.net http://mevius.5ch.net/test/read.cgi/tech/1489511075/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
331: デフォルトの名無しさん [sage] 2017/10/20(金) 02:08:00.45 ID:yLtxI7rs >>330 >これらの単語群がすべて含まれる文字列全体を取り出すには これらの単語群って、クリスマス・お盆・正月の3単語を指してるのかな? それならダサいけど(クリスマス|お盆|正月)を3回繰り返せば? https://regex101.com/r/yRw8ob/1 http://mevius.5ch.net/test/read.cgi/tech/1489511075/331
336: 330 [sage] 2017/10/20(金) 20:06:35.04 ID:JiGfFRv1 >>331 すみませんでした (クリスマス|お盆|正月)の3つの単語を全て含む文字列の最長マッチと書くべきでした (クリスマス|お盆|正月).*?(クリスマス|お盆|正月).*?(クリスマス|お盆|正月) では最長3単語まででお盆という単語を含まなくてもマッチしてしまいます >>332 >その2 というのが何をさすのかすみません分かりませんでした var := "クリスマス任意の文字列お盆任意の文字列正月任意の文字列お盆任意の文字列正月任意の文字列クリスマスzzzz盆zzzzz盆zzzzzzz盆zzzzzzzzzzzお盆" pos := RegExMatch(var, "s)(?=.*?お?盆)(?=.*?クリスマス)(?=.*?正月)(?:お?盆|クリスマス|正月).*(?:お?盆|クリスマス|正月)", $) MsgBox,,, pos%pos% %$%, ;マッチ $=var全体 pos := RegExMatch(var, "s)^(?=.*?お?盆)(?=.*?クリスマス)(?=.*?正月)(?:お?盆|クリスマス|正月).*(?:お?盆|クリスマス|正月)", $) MsgBox,,, pos%pos% %$%, ;行頭^記号ありでもマッチしました $=var全体 これでお盆が含まなければマッチせず、全ての単語が含まれるとき期待通りになりました。有難うございました ただ、対象文字列の1文字目が(クリスマス|お盆|正月)以外で始まるケースではマッチしませんでした 最初に書いたこれなら1文字目を問わずマッチするのですがやはり全体が拾えず……。 pos := RegExMatch(var, "s)^(?=.*?お?盆)(?=.*?クリスマス)(?=.*?正月)", $) var := RegExReplace(var, "^.*?(?=クリスマス|お?盆|正月)", "") のように1文字目が必ず指定した単語のどれかになるように修正してから使わせていただきます お世話になりました。 http://mevius.5ch.net/test/read.cgi/tech/1489511075/336
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.054s