私はここで正規表現に関する多くの質問を行ってきましたが、それらのアドバイスを使用しましたが、コードを実行することができません。私は、文字列のリストを持っている、と私は以下のパターンのいずれかが含まれ、このリスト内のエントリを見つけようとしています:Regexを使って部分文字列を検索する文字列のリストPython
- BLANK
- BLANKにのBLANK
- BLANKのBLANK BLANK
- BLANK
- のBLANKのBLANK
- BLANKのBLANK のBLANK
- BLANKのBLANK
- 例えばBLANK
のBLANK、私は「医者の馬鹿」などの句含んで文章を見つけることができるはずです「学生のハードワーカー。」
これが見つかったら、この基準を満たす文のリストを作成したいと思います。これまでのところ、これは私のコードです:
for sentence in sentences:
matched = re.search(r"a [.*]of a " \
r"an [.*]of an " \
r"a [.*]of an" \
r"an [.*]of a " \
r"that [.*]of a " \
r"that [.*]of an " \
r"the [.*]of a " \
r"the [.*]of an ", sentence)
if matched:
bnp.append(matched)
#Below two lines for testing purposes only
print(matched)
print(bnp)
このコードは、リスト内の基準を満たさなければならないフレーズがあるという事実にもかかわらず、何の結果をアップなりません。
:このタスクを達成するための単純な正規表現は、何かのようになります[を。*] ''、前の正規表現のチュートリアルを読むのに時間がかかり、ランダムなものをしようとしません。 –
私は[。*]は任意の長さの部分文字列を任意の文字で検索させると考えました。これを誤解しましたか? –
大括弧は単一の文字をマッチさせるために使用され、代わりに '(。*)'を使用します – Navidad20