我尝试使用下面的代码匹配除0和1之外的任何数字(比如2到9999),但似乎没有达到预期效果。
\d[0-9]?[0-9]?[^0-1]*
pnwntuvh1#
从regex的字符类中排除0和1。
regex
0
1
[2-9]{1}\d{0,3}
这将匹配不以0和1开头的所有数字。RegEx101 Demo
匹配除0和1之外的所有数字
[2-9]{1,4}
RegEx101 Demo
l7wslrjt2#
您可以使用匹配从2到9999的所有数字
\b(?![01]\b)\d{1,4}\b
或者(如果有单独的字符串)
^(?![01]$)\d{1,4}$
参见demo(?!...)是一个负前瞻,此处用于定义异常。
(?!...)
\b
^
(?![01]\b)
[01]
$
\d{1,4}
_
(?!\d)
vh0rcniy3#
如果你想得到2到9999之间的所有数字,你需要检查两种情况,如果它是一个长度为1的数字,然后排除密码0和1,或允许一切,如果长度大于1。
(([2-9]{1})|([1-9]{1}[0-9]{1,}))
这不允许0和1,但允许111、322、20或24。
gg58donl4#
这应该匹配1到无穷大之间的任何值,并匹配1到9之间的一个或多个数字,后面跟着0或多个0。
但对003004024不起作用
[1-9]+[0-9]{0,}
4条答案
按热度按时间pnwntuvh1#
从
regex
的字符类中排除0
和1
。这将匹配不以
0
和1
开头的所有数字。RegEx101 Demo
匹配除
0
和1
之外的所有数字RegEx101 Demo
l7wslrjt2#
您可以使用匹配从2到9999的所有数字
或者(如果有单独的字符串)
参见demo
(?!...)
是一个负前瞻,此处用于定义异常。\b
-字边界(如果使用^
-字符串开始)(?![01]\b)
-如果0
或1
([01]
是与类中定义的集合中的单个字符匹配的字符类)作为整个单词(如果使用$
而不是\b
,则为字符串),则匹配失败的负前瞻\d{1,4}
-1、2、3或4位数字\b
-结尾词边界(数字、字母或_
不能直接出现在右侧,如果可以出现字母或_
,则替换为(?!\d)
)。vh0rcniy3#
如果你想得到2到9999之间的所有数字,你需要检查两种情况,如果它是一个长度为1的数字,然后排除密码0和1,或允许一切,如果长度大于1。
这不允许0和1,但允许111、322、20或24。
gg58donl4#
这应该匹配1到无穷大之间的任何值,并匹配1到9之间的一个或多个数字,后面跟着0或多个0。
但对003004024不起作用