有人可以解释为什么我的正则表达式不能满足以下正则表达式。有人可以让我知道如何克服和检查[]匹配。
>>> str = li= "a.b.\[c\]"
>>> if re.search(li,str,re.IGNORECASE):
... print("Matched")
...
>>>
>>> str = li= r"a.b.[c]"
>>> if re.search(li,str,re.IGNORECASE):
... print("Matched")
...
>>>
如果我删除开放和关闭括号,我会得到匹配
>>> str = li= 'a.b.c'
>>> if re.search(li,str,re.IGNORECASE):
... print("matched")
...
matched
答案 0 :(得分:4)
您正在尝试匹配字符串a.b.\\[c\\]
而不是a.b.[c]
试试这个:
import re
li= r"a\.b\.\[c\]"
s = "a.b.[c]"
if re.search(li, s, re.IGNORECASE):
print("Matched")
re.IGNORECASE
顺便提一下。
答案 1 :(得分:0)
您可以尝试以下代码:
import re
str = "a.b.[c]"
if re.search(r".*\[.*\].*", str):
print("Matched")
<强>输出:强>
Matched