我有一个正则表达式的问题,我想忽略数字'41',但是我希望4、1、14等所有数字都能匹配。
我有这个正则表达式[^\b41\b]
,它基本上是我想要的,但它也会忽略所有单个的1和4。
举个例子,这个正则表达式可以匹配"41",但我不希望它匹配:\b41\b
我有一个正则表达式的问题,我想忽略数字'41',但是我希望4、1、14等所有数字都能匹配。
我有这个正则表达式[^\b41\b]
,它基本上是我想要的,但它也会忽略所有单个的1和4。
举个例子,这个正则表达式可以匹配"41",但我不希望它匹配:\b41\b
您可以使用负向前瞻断言来排除41
:
/\b(?!41\b)\d+\b/
\b
处,如果其后不跟随 41\b
((?!41\b)
),那么匹配一个或多个数字并在其后有单词边界。
或者使用否定的向后查找断言:
/\b\d+\b(?<!\b41)/
这个正则表达式的含义是:匹配一个或多个数字,这些数字被单词边界包围,但仅当匹配结尾的子字符串不是以\b41
((?<!\b41)
)为前缀时。
或者甚至可以只使用基本语法:
/\b(\d|[0-35-9]\d|\d[02-9]|\d{3,})\b/
这只匹配被单个数字包围的数字序列: