gpt4 book ai didi

Python re.match 不匹配相同的正则表达式

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

我遇到了一个奇怪的问题;我希望以前没有人问过这个问题我需要匹配两个包含“(” “)”的正则表达式。

以下是我为了解它为何不起作用而进行的测试:

>>> import re
>>> re.match("a","a")
<_sre.SRE_Match object at 0xb7467218>

>>> re.match(re.escape("a"),re.escape("a"))
<_sre.SRE_Match object at 0xb7467410>

>>> re.escape("a(b)")
'a\\(b\\)'

>>> re.match(re.escape("a(b)"),re.escape("a(b)"))

=> 不匹配

谁能解释一下为什么正则表达式与自身不匹配?

非常感谢

最佳答案

您已经转义了特殊字符,因此您的正则表达式将匹配字符串 "a(b)",而不是字符串
'a\(b\)'re.escape('a(b)') 的结果。

关于Python re.match 不匹配相同的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20644946/

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