相同的正则表达式不适用于我的本地环境

时间:2015-10-15 21:02:37

标签: python regex python-2.7

我正在尝试匹配10\xbd之类的字符串,而我的表达式为^[0-9]+\s*\\x.{2}$。它适用于pythex。但它在我的本地机器上不起作用。

In [223]: pattern = re.compile(r'^[0-9]+\s*\\x.{2}$')

In [224]: print re.match(pattern, "10\xbd")
None

我正在使用Python 2.7.10。谢谢!

1 个答案:

答案 0 :(得分:3)

你的考试:

print re.match(pattern, "10\xbd")

“\ xbd”被解释为一个特殊字符。你需要“逃避”它或使用原始字符串。

尝试:

print re.match(pattern, r"10\xbd") # the r makes it a raw string

print re.match(pattern, "10\\xbd") # the extra \ 'escapes' the '\' so it is no longer special