Javascript正则表达式匹配test123中的“123”

时间:2012-12-18 18:52:56

标签: javascript regex

在Javascript中:

我有一句“这是一个test123”,我需要匹配单词test之后的数字组。

除了使用群组之外,还有办法做到这一点吗?

这就是我所得到的,但我想在不使用小组的情况下完成这项工作(如果可能的话)

var str = str.match(/test.([0-9]{1,3})/)

基本上我只需说“任何以'test'开头的数字组”

2 个答案:

答案 0 :(得分:4)

简单的单行代码(但是组,但很简单):

"this is a test123".replace(/.*test(\d{1,3}).*/, "$1");  // "123"

match的其他版本:

("this is a test123".match(/test(\d{1,3})/) || []).pop();  // "123"

还有一行没有正则表达式:

parseInt("this is a test123".split("test")[1], 10);  // 123

答案 1 :(得分:0)

如果您不喜欢这些小组,可以在一行中使用2个简单的功能来完成:

 str = str.match(/test[0-9]{1,3}/).toString().replace('test', '');