为什么* ad $匹配字符串" ad"?

时间:2017-04-29 17:40:06

标签: python regex

不应该将以下正则表达式的a*与字符串中的a匹配,而d只留下ad$,因此pattern = r"a*ad$" print(re.search(pattern, "ad")) 不应该{0}比赛,对吗?为什么这是真的?

{{1}}

1 个答案:

答案 0 :(得分:0)

  

a*是否应该与字符串中的a匹配?

不,因为*表示a可以匹配或更多次,所以'' 空字符串也匹配表达。在初始空字符串之后留下'ad'以匹配表达式的其余部分。

正则表达式会考虑这两个选项('',空字符串和'a'满足a*模式)。

如果您希望模式至少匹配 ,请使用a+