使用正则表达式在Javascript中检索匹配字符串的一部分

4

我有一个字符串

foo (123) bar

我希望能够检索出所有用分隔符()包围的数字。

如果我使用varname.match(/\([0-9]+\)/),我的分隔符会被包含在响应中,我得到的是"(123)",而我真正想要的是"123"。

如何仅获取匹配字符串的一部分,而无需使用varname.replace()

1个回答

7

是的,使用捕获(非转义)括号:

varname.match(/\(([0-9]+)\)/)[1]

1
'[1]'是选择第一个子字符串匹配的部分。如果改为'[0]',它将返回整个匹配(例如'(123)')。 - Steven Oxley

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接