gpt4 book ai didi

regex - 为什么正则表达式 [a-z]* 不匹配字符串 `The` 中的任何内容?

转载 作者:行者123 更新时间:2023-12-01 09:21:11 25 4
gpt4 key购买 nike

这似乎是一个基本的东西,但我无法理解它。

字符串:

为什么正则表达式 [a-z]+ 匹配 he 但正则表达式 [a-z]* 根本不匹配任何东西?我的看法是,由于量词 * 匹配零次或多次,因此它应该与前面示例中的 + 匹配,即 he。为什么量词 + 能够处理大写“T”之后的字符串,而量词 * 却不能?

编辑:关于 Regex 工具,我只是使用了以下位置的在线资源: 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', '']

关于regex - 为什么正则表达式 [a-z]* 不匹配字符串 `The` 中的任何内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34613594/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com