在Javascript中:JavaScript正则表达式匹配“123”出test123
我有一句“这是一个test123”,我需要以下单词测试组数字相匹配。
有没有办法做到这一点,而不是使用组?
这是我得到了什么,但我想,使这项工作,而无需使用一组(如果可能)
var str = str.match(/test.([0-9]{1,3})/)
基本上我只需要说“通过‘测试’前任意数量组”代码
在Javascript中:JavaScript正则表达式匹配“123”出test123
我有一句“这是一个test123”,我需要以下单词测试组数字相匹配。
有没有办法做到这一点,而不是使用组?
这是我得到了什么,但我想,使这项工作,而无需使用一组(如果可能)
var str = str.match(/test.([0-9]{1,3})/)
基本上我只需要说“通过‘测试’前任意数量组”代码
简单的单线(尚未群体,但简单):
"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
如果你不喜欢,你可以用2个简单的功能做在一行组:
str = str.match(/test[0-9]{1,3}/).toString().replace('test', '');
请解释**为什么**可以解决问题。 – fuxia
你能解释一下为什么你希望不使用群组来做到这一点,以便我们可以提出一个替代方案? – Dancrumb
为什么他们回来的时候很重要? – jbabey
希望保持简单/单行代码。 –