我试图弄清楚这个表达式:
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'。
使用(...)匹配括号内的任何正则表达式,并指示组的开始和结束。
如果要搜索组:(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