为什么关于" *"的简单正则表达式模式不起作用?

时间:2017-06-10 17:29:52

标签: python regex

代码正在关注

str="baaaacbd"
pattern = re.compile(r"a*")
mat = pattern.search(str)
print mat.group()

输出什么都没有!这很令人不安!为什么呢?

1 个答案:

答案 0 :(得分:4)

首先,不要使用python内置类型名称作为变量名称。其次,Http表示匹配0或更多字符a*a将返回第0次出现的模式。您可以使用re.search()查看所有匹配项:

groups()

或使用In [34]: pattern = re.compile(r"(a*)") In [35]: mat = pattern.search(s) In [36]: print(mat.group()) In [37]: print(mat.groups()) ('',) 匹配1个或多个字符,在这种情况下就是您想要的字符:

a+