suchen

Heim  >  Fragen und Antworten  >  Hauptteil

javascript 正则 获取 引号内内容

有字符串abc"xxx","yyy"def,用javascript正则如何获取xxx和yyy? 
不能带有引号"。

我自己写了一个:

const reg = /\"(.*?)\"/;
reg.exec (abc"xxx","yyy"def);//只能获取第一个xxx

如果去掉正则表达式中的?,则获取xxx","yyy

请问这个正则表达式该如何写?


高洛峰高洛峰3038 Tage vor574

Antworte allen(1)Ich werde antworten

  • 三叔

    三叔2016-11-04 10:04:43

    因为js不支持先行断言(?<="),所以不好一次性获取成功。那就写个方法,解决问题。不会获取中间的逗号和两边的引号:

    function getStr(str) {
        var result = str.match(/\"\w*\"/g);
        return result.map(function(element){
            return element.replace(/\"/g, '');
        });
    }
    getStr('abc"xxx","yyy"def');
    
    //["xxx", "yyy"]


    Antwort
    0
  • StornierenAntwort