存在しない可能性のある単語に一致する正規表現に一致させたい。私はpython regexが可能な単語に一致する
少しする
line
を設定した場合import re line = "a little boy went to the small garden and ate an apple" res = re.findall("a (little|big) (boy|girl) went to the (?=.*\bsmall\b) garden and ate a(n?)",line) print res
が、これの出力も出力され
[]
です:私はこのような何かを試してみてくださいそのhereを読みます少年は庭に行ってりんごを食べた。
可能な単語が存在するかどうか、またはテキストに存在しない場合はどうすればよいですか?
疑問符数量詞 ''ゼロ一致するかのいずれかが与えられましたの?パターン。 (小さな)庭への正規表現は、「庭へ」と「小さな庭へ」[DEMO](https://regex101.com/r/RDfCYm/1) –
の両方にマッチします.findall(r "a(little | big)(boy | girl)は\ bsmall \ b){0,1}ガーデンに行き、(n?)"行を見た。文字列の'r'がなければバックスラッシュが解釈されます。 ''\ b''はバックスペース文字です。 'r '\ b''はバックスラッシュで、その後に" b "が続きます。 –
実際に '(?=。* \ bsmall \ b)ルックアヘッドは、現在の位置の後ろのどこかに、行区切り記号以外の0以上の文字の後ろに' small'という単語が存在することを必要とします。だから、「庭」である必要はありません。それでも、消費パターンが必要です。スティーブンはそうです。とにかく、 '\ b'のパターンは生の文字列リテラルで宣言しなければならないか、円記号を二重にする必要があります。 –