我试图弄清楚这个表达式:
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