我想知道my regex怎么了。
我希望(\d+)
与句号之前的3组数字匹配。
也就是说,我希望这三个匹配项:1
,2
,3
,但不是0
。
如果我只写\d+
,我将得到4个匹配项,但仅在句点之前需要此匹配项,并且将三位数字作为结果。
实现此目标的正确方法是什么?
答案 0 :(得分:1)
您可以考虑在提前行内匹配数字和/
:
\d+(?=[/\d]*\.)
请参见regex demo。
详细信息
\d+
-1个以上的数字... (?=[/\d]*\.)
-立即,后跟
[/\d]*
-0个或更多/
或数字字符\.
-点。或者,如果您只想匹配在数字右边某处紧跟着.
的任何数字,只需使用.*
:
\d+(?=.*\.)
在这里,仅当后面跟有0+个字符和一个点时,才匹配1+个数字。
请参见another demo
答案 1 :(得分:0)