我正在尝试匹配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。谢谢!
答案 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