javascript - 将字符串替换为javascript正则表达式中的括号

标签 javascript regex

我正在尝试这个

str = "@a@b";
str2 = str.replace(/@/g,'-[' + str + ']');

输出应该是 -[a]-[b]

最佳答案

您可以搜索 @ 而不是 @,如下所示,然后替换该组。

/@([^@]+)/g
 @           look for this character literately
  (     )    group, this is the part used for replacing -> $1 in replacement string
   [^@]+     look for one or more not @ characters
          g  global flag, replace all found matches

替换是用第一组$1进行的。

var str = "@a@b",
    str2 = str.replace(/@([^@]+)/g,'-[$1]');

console.log(str2);

关于javascript - 将字符串替换为javascript正则表达式中的括号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49231478/

相关文章:

javascript - 如何使用 JQuery 将动态小数添加到 div 中的另一个小数

regex - 在 Vim 中添加正则表达式搜索列表

c# - 我如何对集合中的重复项进行分组?

javascript - 无法使 "Enter"键调用函数而不是提交页面

regex - 用于匹配字符串的 Vim 正则表达式

javascript - 我如何在js中分割数组?

c# - 查找 xml 中所有不是标签的 'more or less than' 字符

javascript - 如何根据值(value)选择特性?

javascript - 如何使用 Razor 检查是否在 View 页面中选中了复选框,如果选中则显示文本框

javascript - 如何使用 javascript/ajax 调用调试 "something went wrong"错误