为什么单词边界在 python3 中不起作用?
Why word boundary is not working in python3?
为什么这个与 python 中的 regularexpressions(re) 模块一起使用。
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
单词边界断言 (\b
) 描述单词和非单词字符之间的转换,而不是 space 和非 space 字符之间的转换。单词字符是字母数字字符加上下划线 (_
)。但是由于 space 和 &
都是非单词字符,因此 \b
无法在该转换处匹配;只有当 &
有一个类似词的邻居时,你才会匹配,当你认为你正在寻找一个非类似词的邻居时。
为什么这个与 python 中的 regularexpressions(re) 模块一起使用。
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
单词边界断言 (\b
) 描述单词和非单词字符之间的转换,而不是 space 和非 space 字符之间的转换。单词字符是字母数字字符加上下划线 (_
)。但是由于 space 和 &
都是非单词字符,因此 \b
无法在该转换处匹配;只有当 &
有一个类似词的邻居时,你才会匹配,当你认为你正在寻找一个非类似词的邻居时。