我有类似abcd(123.45), efgh ijk(abcd), lmno(12kdd)的文本,我想将()内包含的内容提取为像["123.45", "abcd", "12kdd"]这样的数组。

我写了一个RegEx来解决这个问题,但是它没有给出正确的结果。如何解决这个问题。

我的RegEx如下

[^\(\)]+

最佳答案

我想你要找的是

var text = "abcd(123.45), efgh ijk(abcd), lmno(12kdd)";
var results = text.match(/[^\(]+?(?=\))/gi);


在这里,我使用正则表达式的look behind概念。

它使用除(以外的所有字符,后跟一个),但不包括)字符。

关于javascript - 如何仅将()中包含的内容提取到数组,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4578399/

10-13 05:30