javascript - 如何循环遍历正则表达式匹配的字符串,concat 返回新的完整字符串

标签 javascript regex dictionary match

我正在努力实现:

const finalStr = "team='Core', team='Mechanics'"
//loop through string, get single quotes, add <bold>'Core'</bold>
//I want to return the string: 
"team=<bold>'Core'</bold>, team=<bold>'Mechanics'</bold>"

我尝试过的方法,但显然是错误的......我无法理解它:

const finalStr = this.state.finalString
const newFinal = finalStr.match(/'(.*?)'/g).map(item => {
    item = item.replace(item, '<b>' + item + '</b>')
      return item;
    });

最佳答案

您不需要回调或任何其他功能,只需使用 replacement pattern String.replace() 中描述文档插入匹配的子字符串 ( $& )。除非您打算对匹配项执行其他操作,否则您也不需要捕获组的括号。

const finalStr = "team='Core', team='Mechanics'"

const newFinal = finalStr.replace(/'.*?'/g, '<bold>$&</bold>')
console.log(newFinal)

作为旁注,没有 <bold> HTML 中的标记,因此如果您尝试创建有效的 HTML,您应该使用 <b> .

关于javascript - 如何循环遍历正则表达式匹配的字符串,concat 返回新的完整字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53289446/

相关文章:

javascript - 我如何检查 Javascript 中的唯一性?

javascript - <canvas> 触摸另一个对象时的 javascript

Javascript Regex 或 Jquery 解析 html 字符串?

c# - 正则表达式删除两个字符串之间的连字符

python - 从包含列表的元组列表中进行字典理解

javascript - Protractor 页面对象错误

javascript - 为什么无限循环不抛出错误

javascript - 如果超过 10 个,请移除

python - 确定树中叶节点数与非叶节点数

javascript - 在reactjs中,如何映射数组并将 添加到返回值?