正则表达式仅匹配数字

时间:2016-12-06 05:48:24

标签: regex

我想只匹配以下示例输入中的单个数字:

[2,4,7,9-11]

正则表达式应匹配2,4& 7,但不是9-11。

2 个答案:

答案 0 :(得分:1)

你的目标前后都有非连字符:

(?<!-)\b\d+\b(?!-)

请参阅live demo

答案 1 :(得分:0)

对于单字符匹配,这可能就足够了。 \b字边界\d表示我们正在寻找单个数字

\b\d\b

如果您想省略单个零,那么您可以使用自定义范围执行此类操作:

\b[1-9]\b

如果您使用两位数字和零,那么您可以在原始位置添加加号+表示多个):

\b\d+\b

要匹配所提供的不属于范围的任何单个数字,您将使用边界和环视:

\b(?<!-)\d(?!-)\b

你可以learn more about Regex here.