在Python re

时间:2018-11-20 06:41:28

标签: python regex

我尝试使用:

>>> wbpat='\btest\b'
>>> re.findall(wbpat, 'a test tested in testing')

预期得到的结果是['test'],但不知何故我得到了一个空列表。可能是什么问题...

1 个答案:

答案 0 :(得分:4)

\b是用于退格键(长度为1的字符串)的转义码。使用r'\btest\b'。前导r向Python解释器指示它将字符串中的每个字符解释为原义的单个字符(“原始”字符串),并忽略转义序列。

示例:

>>> len('\btest\b')    # <backspace>test<backspace>
6
>>> len(r'\btest\b')   # <backslash>btest<backslash>b
8
>>> import re
>>> re.findall(r'\btest\b','a test tested in testing')
['test']

在Python中对正则表达式使用原始字符串是一个好习惯。