1

在 Javascript 中:

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

除了使用组之外,还有其他方法吗?

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

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

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

4

2 回答 2

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
于 2012-12-18T18:56:53.703 回答
0

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

 str = str.match(/test[0-9]{1,3}/).toString().replace('test', '');
于 2012-12-18T19:10:58.020 回答