3

私はこの表現を理解しようとしています:

p = re.compile ("[I need this]")
for m in p.finditer('foo, I need this, more foo'):
    print m.start(), m.group()

カウント 22 で「e」が表示される理由を理解し、これを正しく書き直す必要があります。

4

2 に答える 2

2

[]文字クラスを示します。つまり、あなたの場合、[I need this] は次の略です: I、n、e、d、t、h、i、s、および (たぶん) のいずれかの文字に一致します。空間。と同等[Inedthis ]です。フレーズ全体に一致させたい場合は、括弧を省略します。ブラケットも一致させたい場合は、エスケープします: \[I ... \].

于 2013-08-11T01:02:11.573 に答える
2

を使用すると、文字のセットである[]文字クラスを検索します。[ 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 を参照してください。公式ドキュメントの正規表現の構文

于 2013-08-11T01:15:48.957 に答える