RegExp如何从这些括号中获取数据

时间:2018-04-02 11:01:07

标签: javascript regex

我有一个像[url.com](url)这样的字符串。我需要替换这些括号中的数据并将其拉入<a href="url.com">url</a>之类的链接 有人可以帮我处理吗?

1 个答案:

答案 0 :(得分:0)

您可以将$product = $_REQUEST['product']; 与正则表达式match

一起使用
/(?<=(\[|\())([^\])]+)/g

现在使用var matches = "[url.com](url)".match(/(?<=(\[|\())([^\])]+)/g) ; //["url.com", "url"] 锚标记形成为

matches

修改

如果您有一个具有此格式的字符串,并且您想要替换内联,那么

var aHTML = "";
if (matches && matches.length == 2)
{
   aHTML = '<a href="' + matches[0] + '">' + matches[0] + '</a>'
}

<强>演示

&#13;
&#13;
var getLink = (str) => {
  var matches = str.match(/(?<=(\[|\())([^\])]+)/g);

  var aHTML = "";
  if (matches && matches.length == 2) {
    aHTML = '<a href="' + matches[0] + '">' + matches[0] + '</a>'
  }
  return aHTML;
};

var replaceInline = (str) => {
   return str.replace( /\[[^\]]+\]\([^)]+\)/g, r => getLink(r) );
};
&#13;
&#13;
&#13;