匹配[ABC DEF](http://google.com)

时间:2011-10-28 11:46:01

标签: javascript regex

我正在尝试匹配以下字符串,但没有成功。

到目前为止我已经这么做了。

/\[([^\]]+)(\([^\)]+)/

这是最后一部分不起作用(\([^\)]+)

换句话说;

var meta = "[ABC DEF](http://google.com)"

  • 这部分有效。

    meta.match(/\[([^\]]+)/) => ABC DEF

  • 这不起作用。

    meta.match(/\[([^\]]+)(\([^\)]+)/) // => null

这就是我想要的。

["ABC DEF", "http://google.com"]

任何人都知道为什么它不起作用?

1 个答案:

答案 0 :(得分:5)

你错过了结尾]。此外,)不需要在字符类中进行转义。第三,您可以添加尾随),最后您不应将文字(放在(...)内,因为您不希望它位于匹配数组中。

meta.match(/\[([^\]]+)]\(([^)]+)\)/)
                      ^  ^  ^