Regex只查找一个数字的精确匹配,并在它是另一个数字的子串时排除它[重复]

emeijp43  于 2023-10-22  发布在  其他
关注(0)|答案(1)|浏览(134)

此问题已在此处有答案

regex: find integer but not float(3个答案)
Python regex to match integers but not floats(2个答案)
上个月关门了。
我有一个要搜索的字符串,如下所示:
“55 550 55.10 45.11 46 55 45 455”
我正在搜索55,只想返回数字正好是55的匹配。我下面的情况下,应该只得到2个匹配:

55550 55.10 45.11 465545 455

我有这个regex:
(55)+(?!\.)
这就产生了四个匹配。我不要550或455:

55 550 55.10 45.11 465545 455*

我一直在想如何改进正则表达式,所以我只能得到精确数字的匹配。示例:https://regexr.com/7jhbo

7eumitmz

7eumitmz1#

您必须考虑其他误报,例如6.55
将你的目标用词边界包裹起来,并为点添加负向的向后/向前看:

(?<!\.)\b55\b(?!\.)

请参见live demo

相关问题