Python 为什么';t\b\w+\b匹配一个单词?
为什么下面的Python语句返回Python 为什么';t\b\w+\b匹配一个单词?,python,regex,Python,Regex,为什么下面的Python语句返回None >>> re.match('\b\w+\b', 'foo') >>> 据我所知,这应该与单词foo匹配。第一个\b应该匹配单词foo的开头,\w+应该匹配单词foo,最后一个\b应该匹配单词foo的结尾。我的理解有什么错误?如果在\b中没有转义反斜杠,\b匹配的是反斜杠,而不是单词边界 >>> '\b' # BACKSPACE, not \ + b '\x08' >>> '\
None
>>> re.match('\b\w+\b', 'foo')
>>>
据我所知,这应该与单词
foo
匹配。第一个\b
应该匹配单词foo
的开头,\w+
应该匹配单词foo
,最后一个\b
应该匹配单词foo
的结尾。我的理解有什么错误?如果在\b
中没有转义反斜杠,\b
匹配的是反斜杠,而不是单词边界
>>> '\b' # BACKSPACE, not \ + b
'\x08'
>>> '\\b' # \ + b
'\\b'
>>> r'\b' # raw string literal (r'\b' == '\\b')
'\\b'
>>> re.match('\b\w+\b', 'foo')
>>> re.match(r'\b\w+\b', 'foo')
<_sre.SRE_Match object at 0x0000000002C18100>
>'\b'#退格,而不是\+b
“\x08”
>>>'\\b'\+b
“\\b”
>>>r'\b'#原始字符串文字(r'\b'=='\\b')
“\\b”
>>>重新匹配('\b\w+\b',foo')
>>>重新匹配(r'\b\w+\b',foo')
更多关于