gpt4 book ai didi

python - 如何编写此正则表达式来匹配整个字符串?

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

我有一个字符串,由 3 个下划线分隔的小写字符组成。这些都是有效的例子:

abc
abc_def
abc_def_ghi

这些不是:

abc_
abc_ab
abc_123

我写了一个正则表达式:

>>> def test_string(test):
... import re
... pc = re.compile("[a-z]{3}(_[a-z]{3})*")
... if pc.match(test):
... return True
... else:
... return False
...
>>> print test_string('abc')
True # Okay
>>> print test_string('ab')
False # Okay
>>> print test_string('abc_')
True # Not Okay

但不排除我不想要的情况。

我如何编写一个函数来测试字符串是我想要的形式,而不是我不想要的形式?

最佳答案

您只需要在您的正则表达式中添加行尾 anchor $:

re.compile("[a-z]{3}(_[a-z]{3})*$")

这确保匹配的内容匹配后没有其他内容。

您不需要行首 anchor (^),因为默认情况下 match 会尝试匹配字符串的开头。

关于python - 如何编写此正则表达式来匹配整个字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20827930/

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