日期:2014-05-16  浏览次数:20381 次

求一个逗号的正则表达式
字符串如下:
HTML code

7,11,1:2,"AAA,BBB,CCC",DDD


上面是一个字符串,现在想 匹配到
"AAA,BBB,CCC"中的逗号并替换成@(假设)
得到最后的字符串应该为:
HTML code

7,11,1:2,"AAA@BBB@CCC",DDD



请教如何写这个正则表达式替换。各种语言都可以。。。

------解决方案--------------------
JScript code
var origin = '7,11,1:2,"AAA,BBB,CCC",DDD';
var after = origin.replace(/(\"\w+),(\w+),(\w+\")/, '$1@$2@$3');

------解决方案--------------------
var str="7,11,1:2,\"AAA,BBB,CCC\",DDD,\"EEE,FFF,GGG\"HHHH";
var m = str.match(/"([^\"]+?)"/ig);

for(var i=0;i<m.length;i++){
str = str.replace(m[i],m[i].replace(/,/ig,"@"));
}
alert(str);
------解决方案--------------------
var str = '7,11,1:2,"AAA,BBB,CCC",DDD';
 var reg = /(\".*),(.*),(.*\")/gi;
 var str = str.replace(reg, '$1@$2@$3');
 alert(str);
------解决方案--------------------
JScript code

    str = '7,11,1:2,"AAA,BBB,CCC,sfd",DDD'
    str = str.replace(/"\w+(\,\w+)+"/g, function(v){return v.replace(/,/g, "@");});