这似乎是一个基本的东西,但我无法理解它.
字符串: The
为什么正则表达式[a-z]+
匹配,he
但正则表达式[a-z]*
根本不匹配?我看到它的方式是因为量词*
匹配零次或多次,它应该与+
前一个例子中的匹配相同he
.量词+
是如何在大写"T"之后处理字符串但量词*
不是?
编辑:关于正则表达式工具我只是使用在线资源:http: //regexr.com/和https://regex101.com/
很难告诉你问题,但我的猜测是:[a-z]*
有多个匹配:之前是一个空字符串T
,其余的,即he
.你可能只看到第一场比赛.
有[a-z]+
,第一(也是唯一)匹配he
.
根据您使用的语言/工具,可能会有不同的功能,只获得第一场比赛,或获得所有比赛.这是Python中的一个例子:
>>> re.search("[a-z]*", "The").group() '' >>> re.findall("[a-z]*", "The") ['', 'he', '']