我想要一个与'1'
和'1.'
都匹配但不匹配'12'
的正则表达式,即1
一定不能是更大令牌的一部分,如果后面跟着一个时期,我也想匹配。这里所有引号表示字符串。
为什么模式1\.?\b
与字符串'1.'
中的句点不匹配?
如果我继续该字符串,它将捕获句点:'1.2'
由于1\b
匹配'1'
,所以\b
必须包含字符串的结尾,因此我希望\.?
匹配句点,而\b
匹配字符串字符串的结尾。为什么最后一个字符时的句号不匹配?
答案 0 :(得分:1)
因为在点后没有单词边界。单词边界定义为不是单词字符的事物与存在单词的事物相邻的地方。
也许您正在寻找\b1\.?