有人可以帮我编写Javascript正则表达式吗?我需要匹配成对的括号。例如,它应与以下字符串中的“ [abc123]”,“ [123abc]”匹配:

“这是一个测试[abc123]],另一个测试[[123abc]。这是一个单独的结局”

提前致谢。

最佳答案

如果您不需要嵌套的方括号,

// theString = "this is a test [abc123]], another test [[123abc].
// This is an left alone closing";
return theString.match(/\[[^\[\]]*\]/g);
// returns ["[abc123]", "[123abc]"]


要提取内容,请参见以下示例:

var rx = /\[([^\[\]]*)\]/g;
var m, a = [];
while((m = rx.exec(theString)))
  a.push(m[1]);
return a;

10-04 14:38