得到这个字符串:"'ab',('AA', 'BB'), r('rr')"
我希望输出为"'ab',['AA', 'BB'], r('rr')"
试过这个
var replace = function(str){
return str.replace(/\)/g, ']')
.replace(/\(/g, '[')
}
它取代了所有paranthes但是如何组合regexp以便它只用,(
替换[
?
答案 0 :(得分:0)
只需在括号前添加逗号:
return str.replace(/(,\s*)\((.*?)\)/g, '$1[$2]');
答案 1 :(得分:0)
没有RegEx
"'ab',('AA', 'BB'), r('rr')".split(",(").join(",[").split("),").join("],")
答案 2 :(得分:0)
我喜欢亲自使用[^]*
反向选择器。因此它不需要逗号。
var replace = function(str){
return str.replace(/\(([^)]*)\)/g, "[$1]");
}
目前接受的答案会产生'ab',['AA', 'BB'], r('rr')
。