Python正则表达式无法识别\number

Python正则表达式无法识别\number,python,regex,Python,Regex,我的python解释器(版本3.2.3)中的以下表达式: 未能匹配字符串,如“11”或“77”。有人多次告诉我,\number将引用被number第四个括号包围的表达式,那么为什么这个正则表达式不匹配?如果要匹配整数,可以使用: re.compile('[0-9]*') 您应该避开反斜杠(\) 或使用原始字符串文字: re.compile(r'([0-9])\1') 否则,\1与字符\x01匹配,而与以前的组号1不匹配 >>> re.search('([0-9])\1',

我的python解释器(版本3.2.3)中的以下表达式:


未能匹配字符串,如“11”或“77”。有人多次告诉我,
\number
将引用被
number
第四个括号包围的表达式,那么为什么这个正则表达式不匹配?

如果要匹配整数,可以使用:

re.compile('[0-9]*')

您应该避开反斜杠(
\

或使用原始字符串文字:

re.compile(r'([0-9])\1')
否则,
\1
与字符
\x01
匹配,而与以前的组号1不匹配

>>> re.search('([0-9])\1', '55')
>>> re.search('([0-9])\1', '5\x01') # '5\x01' == '5\1'
<_sre.SRE_Match object at 0x7f3a86ef8120>
>>重新搜索('([0-9])\1',55')
>>>重新搜索('([0-9])\1','5\x01')#'5\x01'=='5\1'

您需要使用原始字符串:
r'([0-9])\1'
a这就是问题所在。非常感谢。
re.compile(r'([0-9])\1')
>>> re.search('([0-9])\1', '55')
>>> re.search('([0-9])\1', '5\x01') # '5\x01' == '5\1'
<_sre.SRE_Match object at 0x7f3a86ef8120>