Javascript正则表达式 - 获取所有包含方括号[]的字符串

标签 javascript regex

我有下面的字符串数据:

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/

相关文章:

javascript - 未定义 $parse 的 Angular Directive(指令)

javascript - jQuery 冲突导致错误?

javascript - 正则表达式 .exec() 丢失匹配字符串的第一个数字

javascript - 从正则表达式的字面表示法中删除反斜杠

regex - 如何 : Searching for a string in a file from the Windows command line?

javascript - 使用 PapaParse 正确解析本地文件

javascript - 使用javascript修改嵌套在div中的html元素

javascript - 无法在 Polymer 1.0 初学者工具包中创建新路由(通过 page.js 和 iron-page)

Javascript 字符串替换方法。在替换字符串中使用匹配项

regex - 在正则表达式中使用交替时 Perl 未初始化值