正则表达式匹配方括号网址

时间:2018-02-24 13:56:50

标签: javascript regex

我试图以这种格式[urlTextHere](http://link.to/url/text)

解析网址

我无法与模式匹配,我可以匹配[](),但不能同时匹配。commit_len=$(git cat-file commit HEAD | wc -c) (echo -ne "commit $commit_len\0"; git cat-file commit HEAD) | sha1sum git show HEAD | grep commit

如何匹配两者,并检索为单独的字符串?

1 个答案:

答案 0 :(得分:0)

为了匹配它们,包括[](),您可以将它们分为两组,包括它们:

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

那就匹配

  • 在群组(
  • 中捕获
  • 匹配[\[
  • 匹配不是[^\]]+一次或多次
  • 匹配] \]
  • 关闭捕获组)

然后对()

使用此机制

要匹配[]()内的内容,您可以将它们分为两组,不包括它们:

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

var str = "[urlTextHere](http://link.to/url/text)";
console.log(str.match(/(\[[^\]]+\])(\([^)]+\))/));
console.log(str.match(/\[([^\]]+)\]\(([^)]+)\)/));