python处理的方式是否有错误'。'还是'\ b'?我不确定为什么会产生不同的结果。
import re
regex1 = r'\.?\b'
print bool(re.match(regex1, '.'))
regex2 = r'a?\b'
print bool(re.match(regex2, 'a'))
输出:
False
True
答案 0 :(得分:4)
\b
,单词边界,单词字符和非单词元素之间的匹配。因此,它将匹配像a
这样的单词字符和字符串结尾之间的匹配,但不会匹配像.
这样的非单词字符和字符串结尾之间的匹配。
答案 1 :(得分:0)
正如geekosaur指出\b
只是一种简短的写作方式
(?:(?<=\w)(?!\w)|(?<!\w)(?=\w))
在您的情况下,您可能想要使用
(?!\w)
或
(?!\S)
而不是\b
。