\ b之后。不赶时间

时间:2019-02-19 14:38:59

标签: python regex

我想要一个与'1''1.'都匹配但不匹配'12'的正则表达式,即1一定不能是更大令牌的一部分,如果后面跟着一个时期,我也想匹配。这里所有引号表示字符串。

为什么模式1\.?\b与字符串'1.'中的句点不匹配?

如果我继续该字符串,它将捕获句点:'1.2'

由于1\b匹配'1',所以\b必须包含字符串的结尾,因此我希望\.?匹配句点,而\b匹配字符串字符串的结尾。为什么最后一个字符时的句号不匹配?

1 个答案:

答案 0 :(得分:1)

因为在点后没有单词边界。单词边界定义为不是单词字符的事物与存在单词的事物相邻的地方。

也许您正在寻找\b1\.?