gpt4 book ai didi

Python Regex - 拒绝带换行符的字符串

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

我想将完整的字符串与特定模式匹配。比方说:

word = "aaaa"
test = re.match(r"^aaaa$", word) # this returns True

但是,如果单词后跟换行符:

word = "aaaa\n"
test = re.match(r"^aaaa$", word) # Also returns True :(

但我想找到一种方法让它在最后一种情况下返回 False。有没有办法区分“\n”?

最佳答案

代替 anchor ^$ 使用 \A 作为开始和 \Z 作为结束:

>>> print re.match(r'\Aaaaa\Z', 'aaaa')
<_sre.SRE_Match object at 0x1014b9bf8>

>>> print re.match(r'\Aaaaa\Z', 'aaaa\n')
None

\A 匹配字符串的实际开始,\Z 匹配实际结束,并且只能有 \A\Z 在多行字符串中,而 $ 可能在每一行中匹配。

我建议 reading this very good article on permanent line anchors.

仅供引用,与 .NETJavaPCREDelphiPHP 不同> 在 Python 中,\Z 只匹配字符串的末尾。 Python 不支持 \z

关于Python Regex - 拒绝带换行符的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36696895/

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