Python re.search字符串搜索open和close括号[]

时间:2016-03-26 12:30:48

标签: python regex

有人可以解释为什么我的正则表达式不能满足以下正则表达式。有人可以让我知道如何克服和检查[]匹配。

>>> 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

2 个答案:

答案 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