首页 > 解决方案 > 使用正则表达式从替换函数中获取字符串

问题描述

如何获取正则表达式中存在的字符串。

输入:例如HtmlContent包含字符串

"<% CustomerSignUpURL ||Text:Hello Abhishek %>"

输出:替换字符串后应该是锚标记,如下所示:

Hello Abhishek //  where Hello Abhishek is anchor tag

请帮助我编写代码,以代替下面给出的问号:

campaignInfo.HtmlContent = campaignInfo.HtmlContent.replace(
    /<% CustomerSignUpURL ||Text:([a-zA-Z0-9_\-\.]+) %>/g,
    '<a href="<% CustomerSignUpURL %>">{????}</a>'
);

标签: javascriptreactjsregex

解决方案


首先,通过以下方式获取标签的内容:

const tagContent = campaignInfo
    .HtmlContent
    .match(/CustomerSignUpURL \|\|(.*):(.*)%>/)[2];

// then replace it with:
campaignInfo.HtmlContent = campaignInfo.HtmlContent.replace(
    /<% CustomerSignUpURL \|\|Text:.+?(?=>)./g,
    `<a href="<% CustomerSignUpURL %>">${tagContent}</a>`
);

推荐阅读