【发布时间】:2020-04-27 18:33:07
【问题描述】:
我正在尝试创建一个这样的数组数组
[
["-0.75_-1.25_-1.75_-2.25"],
["-0.75_-1.25_-1.75_-2.25"]
]
来自类似的字符串:
"-9.00_-6.50,-6.00_+6.00(-0.75_-1.25_-1.75_-2.25)(-0.75_-1.25_-1.75_-2.25)"
通过推入( ) 之间的所有字符串。我使用.match(/[^()]+/g) 正则表达式尝试了这个,但这将所有内容添加到数组中,它只是一个像
[
[
"-9.00_-6.50,-6.00_+6.00",
"-0.75_-1.25_-1.75_-2.25",
"-0.75_-1.25_-1.75_-2.25"
]
]
你能告诉我如何解决这个问题吗?
var data = "-9.00_-6.50,-6.00_+6.00(-0.75_-1.25_-1.75_-2.25)(-0.75_-1.25_-1.75_-2.25)";
var dataarr = [];
dataarr.push(data.match(/[^()]+/g));
console.log(dataarr);
【问题讨论】:
-
(?<=\()[^)]+(?=\))的匹配组成数组["-0.75_-1.25_-1.75_-2.25", "-0.75_-1.25_-1.75_-2.25"]。将其每个元素e转换为[e]很简单,但我不知道您为什么要这样做。 -
检查我的答案!你可以使用正则表达式来解决。
-
@xdeepakv,提交答案时,OP 会通知 SO,因此您的评论是多余的。此外,所有答案都使用正则表达式。
标签: javascript jquery regex