我正在寻找一些字边界来涵盖这3个案例:
是否有类似的东西,因为\ b也涵盖 - ,/等?
想通过上述内容替换此模式中的\ b:
(\b\d*\sx\s|\b\d*x|\b)
Run Code Online (Sandbox Code Playgroud)
小智 22
尝试更换\b与(?:^|\s|$)
这意味着
( ?: don't consider this group a match ^ match beginning of line | or \s match whitespace | or $ match end of line )
适用于Python和JavaScript.
Tim*_*ker 10
好的,所以你真正的问题是:
我如何匹配一个单位,可选地前面有一个数量,但只有在比赛前没有任何东西或空格?
使用
(?<!\S)\b(?:\d+\s*x\s*)?\d+(?:\.\d+)?\s*ml\b
Run Code Online (Sandbox Code Playgroud)
说明
(?<!\S):断言在比赛前不可能匹配非空格字符.
\b:匹配单词边界
(?:\d+\s*x\s*)?:可选择匹配量词(仅限整数)
\d+(?:\.\d+)?:匹配一个数字(小数可选)
\s*ml\b:匹配ml,可选地前面有空格.