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

时间:2022-09-13 11:24:31

I've got a string like

我有一个字符串

foo (123) bar

I want to retrieve all numbers surrounded with the delimiters ( and ).

我想检索用分隔符(和)包围的所有数字。

If I use varname.match(/\([0-9]+\)/), my delimiters are included in the response, and I get "(123)" when what I really want is "123".

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

How can I retrieve only a portion of the matched string without following it up with varname.replace()?

如何在不使用varname.replace()的情况下检索匹配字符串的一部分?

1 个解决方案

#1


7  

Yes, use capturing (non-escaped) parens:

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

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

#1


7  

Yes, use capturing (non-escaped) parens:

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

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