在Javascript中:
我有一句“这是一个test123”,我需要匹配单词test之后的数字组。
除了使用群组之外,还有办法做到这一点吗?
这就是我所得到的,但我想在不使用小组的情况下完成这项工作(如果可能的话)
var str = str.match(/test.([0-9]{1,3})/)
基本上我只需说“任何以'test'开头的数字组”
答案 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', '');