我想在 Javascript 中使用正则表达式以某种方式将字符串序列“*”替换为 (*)。将引号之间的内容替换为左括号和右括号之间。
例如“苹果”到(苹果)
有什么想法吗?
最佳答案
尝试这样的事情:
str.replace(/"(.*?)"/g, function(_, match) { return "(" + match + ")"; })
或者更简单
str.replace(/"(.*?)"/g, "($1)")
注意“非贪婪”说明符 ?
。如果没有这个,正则表达式将吃掉所有内容,包括双引号,直到输入中的最后一个。请参阅文档 here .第二个片段中的 $1
是指向第一个括号组的反向引用。请参阅文档 here .
关于Javascript 正则表达式 - 括号引号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29726156/