我目前正在使用该模式:\b\d+\b使用以下条目对其进行测试:
numb3r
2
3454
3.214
test
Run Code Online (Sandbox Code Playgroud)
我只想要它捕获2和3454.它非常适合捕获数字,除了边界标志(\b)包括"."作为单独的单词的考虑.我试图排除这段时间,但是编写模式时遇到了麻烦.
基本上我想删除整数单词,只是单独使用它们.
man*_*lds 82
你想要的只是以下正则表达式:
^\d+$
Run Code Online (Sandbox Code Playgroud)
ghi*_*ing 47
与manojlds类似,但包括可选的负数/正数:
var regex = /^[-+]?\d+$/;
Run Code Online (Sandbox Code Playgroud)
编辑
如果您不想在前面允许零(023变为无效),您可以这样写:
var regex = /^[-+]?[1-9]\d*$/;
Run Code Online (Sandbox Code Playgroud)
编辑2
正如@DmitriyLezhnev指出的那样,如果你想允许数字0本身有效,但在其他数字前面仍然无效(例如:0有效,但023无效).然后你可以使用
var regex = /^([+-]?[1-9]\d*|0)$/
Run Code Online (Sandbox Code Playgroud)
Amb*_*ber 30
如果要匹配的是空格,则可以使用环视:
(?<=\s|^)\d+(?=\s|$)
Run Code Online (Sandbox Code Playgroud)