0
import re
str2='hello: acb cross'
reg = re.compile('hello: (a*) cross')
m = reg.search(str2)
print m
if m:
   nat= m.group(0)
   print(nat)

在上面的片段中,我期望输出是“你好:acb cross”,如果我使用 group(1),它应该是“acb”。但我没有得到任何。print m 返回无。谁能告诉我它不起作用的原因。

但是,如果我尝试这样的事情,它会起作用:

import re
str1 = "carter notes: dependent on stems"
r = re.compile('carter notes:(.*)stems')
m = r.search(str1)
if m:
   lx = m.group(1)
   #print(m.group(0))
   print(lx)
4

2 回答 2

2

a*表示“任意数量的as”。

.*意思是“任意数量(任意单个字符)”。

您的意思是“一个a,后跟任意数量的(任何单个字符)”;那就是a.*

于 2013-01-21T02:50:27.467 回答
0

尝试这个:

str2='hello: acb cross'
reg = re.compile('hello: (a.*?) cross')
于 2013-01-21T03:00:28.950 回答