使用带有特殊字符的正则表达式在python中查找匹配项
我正在提取一个字符串,需要检查它是否遵循特定的模式使用带有特殊字符的正则表达式在python中查找匹配项,python,regex,string,Python,Regex,String,我正在提取一个字符串,需要检查它是否遵循特定的模式 如果是,我需要将其替换为“”。我正在尝试以下代码 string1 = "<![if support]> hello" string = re.sub(re.compile("<![.*?]>"),"",string1) print(string) string1=“你好” string=re.sub(re.compile(“”,“),string1) 打印(字符串) 但我得到的输出是 <![if suppor
如果是,我需要将其替换为“”。我正在尝试以下代码
string1 = "<![if support]> hello"
string = re.sub(re.compile("<![.*?]>"),"",string1)
print(string)
string1=“你好”
string=re.sub(re.compile(“”,“),string1)
打印(字符串)
但我得到的输出是
<![if support]> hello
你好
我希望得到hello的输出。我在这里做错了什么?
[
和]
在正则表达式中被视为元字符。你需要逃离他们:
In [1]: re.sub(re.compile("<!\[.*?\]>"), "", "<![if support]> hello")
Out[1]: ' hello'
[1]中的:re.sub(re.compile(“”),“hello”)
Out[1]:“你好”
作为一个(礼节性的Wiktor Stribiżew),您可以仅转义第一个左括号,将正则表达式缩短为“”
[
和]
在正则表达式中被视为元字符。你需要逃离他们:
In [1]: re.sub(re.compile("<!\[.*?\]>"), "", "<![if support]> hello")
Out[1]: ' hello'
[1]中的:re.sub(re.compile(“”),“hello”)
Out[1]:“你好”
作为一个(礼貌的Wiktor Stribiżew),您可以只转义第一个左paren,将正则表达式缩短为“”
]
不是字符类之外的特殊正则表达式操作符r”“
就足够了。]
不是字符类之外的特殊正则表达式运算符<代码>r“”就足够了。