[過去ログ] Regular Expression(正規表現) Part15 (1002レス)
上下前次1-新
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
976(1): 2021/10/30(土)19:56 ID:y9dUwbDd(1/5) AAS
Pythonの正規表現を変数などに入れておき、他の正規表現の一部として再利用する方法ってあるのでしょうか。
第一の正規表現を
hoge =[abcd]
としてhogeに格納しておいて、
別の正規表現で
(【hoge】|[efg])
のように、【】の部分で変数を引用するイメージです。
978(1): 2021/10/30(土)20:13 ID:y9dUwbDd(2/5) AAS
>>966
試しに考えてみました。
問題あればご指摘ください。
abc defのときに、間の空白がどの程度許容されるのかがわかりませんが、とりあえず1文字の空白があってもなくても良い\s?、ということで考えます。
場合分けすると、
abcが冒頭に来るもの(defはあってもなくても可)
defが冒頭にくるもの(abcはあってもなくても可)
省11
979: 2021/10/30(土)20:19 ID:y9dUwbDd(3/5) AAS
3つを合成する時に間に変なスペースが入ってしまっていて、マッチを妨げていました。
^(abc\s?(def)?|def\s?(abc)?|\s?)
ですね。
980(1): 2021/10/30(土)20:27 ID:y9dUwbDd(4/5) AAS
>>977
それは盲点でした!
正規表現オブジェクトの再利用ということばかり考えていましたが、複数の正規表現に同じ文字列を代入すれば同一の効果が得られますね。
ありがとうございます。
982(2): 2021/10/30(土)23:11 ID:y9dUwbDd(5/5) AAS
>>981
そうであれば
^(abc\s+(def)?|def\s+(abc)?|\s?)\s?$
で良いと思います。
間の空白を1以上とし、
忘れていた行末$を補い、
パターンの後に空白があっても大丈夫なようにしました。
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.030s