正则表达式匹配字符串

时间:2011-12-16 10:08:03

标签: python regex

请提供正则表达式以匹配以下字符串。

"self.unsupported_cmds = [r'\s*clns\s+routing',"

提前致谢。

我尝试了以下内容,

re.match("^self\.unsupported\_cmds| ?=\ ?\[r\'.*\,", line)

其中line是上面提到的字符串。它不起作用。

我没有收到任何错误或异常,它只是与上面给出的字符串不匹配。

2 个答案:

答案 0 :(得分:2)

我不确定你的问题是什么,我认为它不是正则表达式。

你真的只打电话给这段代码吗?

re.match("^self\.unsupported\_cmds| ?=\ ?\[r\'.*\,", line)

如果是,请尝试:

if(re.match("^self\.unsupported\_cmds| ?=\ ?\[r\'.*\,", line)):
    print "Match"

对我来说这是返回Match,这意味着你的正则表达式正在运行(但它是一个奇怪的正则表达式!)

也许你应该看看docs.python.org/library/re.html

答案 1 :(得分:1)

这是获得它的众多方法之一:

>>> x = r'''"self.unsupported_cmds = [r'\s*clns\s+routing',"'''
>>> print x
"self.unsupported_cmds = [r'\s*clns\s+routing',"
>>> import re
>>> pattern = re.escape(x)
>>> re.match(pattern, x)
<_sre.SRE_Match object at 0x7ffca3f66098>
>>> print pattern
\"self\.unsupported\_cmds\ \=\ \[r\'\\s\*clns\\s\+routing\'\,\"