要匹配之后
#不带点的任何数字,请使用
(?<=#)d++(?!.)
这
++是一个所有格量词,它将使正则表达式引擎仅
(?!.)在最后一个匹配的数字之后才检查前瞻,并且如果后面有一个点,则不会回溯。因此,如果在数字块的最后一位数字之后有一个数字,则整个比赛将失败。
参见正则表达式演示
为了匹配整行并将数字放入捕获组#1:
.*#(d++)(?!.).*
请参阅此正则表达式演示。或没有前瞻性的版本:
^.*#(d++)(?:[^.rn].*)?$
参见另一个演示。在最后一个版本中,数字块只能跟随一个 可选 字符 序列
,该字符不是a
.,CR和LF,其后是除换行符(
(?:[^.rn].*)?)外的任何0+字符,然后是字符串(
$)的末尾。



