我有下面的字符串数据:
var data = "somestring[a=0]what[b-c=twelve]----[def=one-2]test"
我需要获取所有包含方括号[]
的字符串。这就是我想要的结果。
["[a=0]", "[b-c=twelve]", "[def=one-2]"]
我尝试使用正则表达式 /\[(.*?)\]/
,但我得到的是只有第一个数组元素是正确的,接下来的元素基本上是相同的值但没有方括号。
data.match(/\[(.*?)\]/);
// result => ["[a=0]", "a=0"]
我应该使用什么正则表达式来达到我想要的结果?预先感谢您。
最佳答案
您想要使用g
(全局)修饰符来查找所有匹配项。由于括号包含在匹配结果中,因此您不需要使用捕获组,我使用否定来消除回溯量。
someVar.match(/\[[^\]]*]/g);
关于Javascript正则表达式 - 获取所有包含方括号[]的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26986026/