私はこの表現を理解しようとしています:
p = re.compile ("[I need this]")
for m in p.finditer('foo, I need this, more foo'):
print m.start(), m.group()
カウント 22 で「e」が表示される理由を理解し、これを正しく書き直す必要があります。
[]
文字クラスを示します。つまり、あなたの場合、[I need this] は次の略です: I、n、e、d、t、h、i、s、および (たぶん) のいずれかの文字に一致します。空間。と同等[Inedthis ]
です。フレーズ全体に一致させたい場合は、括弧を省略します。ブラケットも一致させたい場合は、エスケープします: \[I ... \]
.
を使用すると、文字のセットである[]
文字クラスを検索します。[ Idehinst]
' ', 'I', 'd', 'e', 'h', 'i', 'n', 's', 't'
Using(...)
は、括弧内の正規表現に一致し、グループの開始と終了を示します。
グループを検索する場合: (I need this)
.
>>> import re
>>> p = re.compile ("(I need this)")
>>> for m in p.finditer('foo, I need this, more foo'):
... print m.start(), m.group()
...
5 I need this
詳細については、7.2.1 を参照してください。公式ドキュメントの正規表現の構文。