gpt4 book ai didi

python - {m,n} 不匹配 m 以下但匹配 n 以上。为什么?

转载 作者:太空宇宙 更新时间:2023-11-04 09:06:11 24 4
gpt4 key购买 nike

当我尝试通过正则表达式 \w{m,n} 匹配字符串长度时,它不会像预期的那样匹配长度低于 m 的字符串,但是匹配长度大于 n 的字符串。

>>> expression = '\w{4,32}'
>>> string = 'a'*3
>>> print re.match(expression, string)
None
>>> string = 'a'*100
>>> output = re.match(expression, string)
>>> len(output.string)
100

为什么会这样?我应该如何使用它?

最佳答案

match 匹配,默认情况下,在字符串的开头——但它不也锚定到结尾。在第二种情况下,正则表达式匹配前 32 个 a。我想你想要:

expression = '^\w{4,32}$'

(len(output.string) 仍然是 100 的原因是因为它只是指正则表达式匹配的字符串,而不是它实际匹配的部分。您可以使用 m.group(0) 找到真正的匹配。)

关于python - {m,n} 不匹配 m 以下但匹配 n 以上。为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20660830/

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