Heim  >  Fragen und Antworten  >  Hauptteil

Problem mit der RegExp-Instanznutzung der exec()-Methode – Stapelüberlauf

var text = "cat, bat, sat, fat";
var pattern2 = /.at/g;
var matches = pattern2.exec(text);
console.log(matches.index);   //0
console.log(matches[0]);   //cat
console.log(pattern2.lastIndex);   //3
matches = pattern2.exec(text);
console.log(matches.index);   //5,为什么是5,不应该从fat开始吗?
console.log(matches[0]);   //bat
console.log(pattern2.lastIndex);   //8

Warum sollten wir mit Fledermaus statt mit Fett beginnen?

phpcn_u1582phpcn_u15822735 Tage vor828

Antworte allen(2)Ich werde antworten

  • 阿神

    阿神2017-05-18 11:03:08

    不是啊,是一个一个往后走的,第一轮匹配到cat中的at,index改为cat后面的逗号开始的,为3,然后继续往后走匹配到bat中的at,index是5.就像刚开始的0一样。

    Antwort
    0
  • 为情所困

    为情所困2017-05-18 11:03:08

    //5,为什么是5,不应该从fat开始吗?
    你是不是想问应该从cat开始。。
    如果是这样子的话,把正则最后的g去掉就行了

    Antwort
    0
  • StornierenAntwort