1

为什么这个适用于 python 中的正则表达式(重新)模块。

import re
x = 'if a + b > 0 && a - b < 0:'
print(re.search(r"\s&&\s", x))

output:<re.Match object; span=(12, 16), match=' && '>

而这个不是?

import re
x = 'if a + b > 0 && a - b < 0:'
print(re.search(r"\b&&\b", x))

output:None
4

1 回答 1

0

单词边界断言 ( \b) 描述了单词和非单词字符之间的转换,而不是空格和非空格字符之间的转换。单词字符是字母数字字符加上下划线 ( _)。但是由于空格和&都是非单词字符,\b因此在该转换时无法匹配;&只有当你认为你正在寻找一个非单词邻居时,你才会匹配。

于 2020-04-11T03:09:35.233 回答