gpt4 book ai didi

python - 只要第一个字符不是数字,就可以使用正则表达式匹配任意数量的字符

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

我正在尝试找出如何使用正则表达式来匹配任意数量的字符,只要第一个字符不是数字即可。如果我正在检查的字符串部分(结尾)中没有值,我也希望它匹配。

如果我这样做:

Pattern = re.compile (value + r"\D.*")

仅当字符串在匹配值之后至少有一个(非数字)值时才有效。

如果我这样做:

Pattern = re.compile (value + r"\D?.*")

即使第一个值是数字,它也会匹配。

我试图找到零与字符串末尾任何值的匹配项,只要第一个值不是数字即可。

例子:

Check "abc123" against:

"abc123" : Match
"abc123ab" : Match
"abc1234" : Not a match
"abc1234a" : Not a match
"abc123a4" : Match

最佳答案

听起来您想要一个“否定先行断言”(搜索该术语 here)。

re.compile(value + '(?!\d)')

字面意思是“不(直接)跟一个数字”。


或者,不使用正则表达式(基本思想取自 TigerhawkT3):

not teststring[len(value):][:1].isdigit()

这假定测试字符串以值开头(如果不能保证,您必须检查它)。

关于python - 只要第一个字符不是数字,就可以使用正则表达式匹配任意数量的字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30175797/

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