2016-08-04 4 views
-4

mit habe ich diese If-Anweisung, die als ein Ergebnis mehr zurückkehren sollte, aber die Code-Anweisung nur einmal ausgeführt wird: aa1, ab2:Javascript: If-Anweisung einer Regex

var regex1 = /[\S]{2,3}[1|2|3]/; 

for (let j = 0; j < notes.length; j++) { 
    if (regex1.exec(data[i])==notes[j][0]) { 
     // code to be executed 
    } 
} 

notes[j][0] von Elementen wie gemacht , ... Es funktioniert gut, wenn mein data[i]aa1 ist, aber wenn es wie aa1ab2 aussieht, funktioniert es nur für aa1 und führt den Code für eine andere Runde für ab2 nicht aus. Habe ich ein Regex-Problem (ich habe es auf einem Regex-Tester getestet und es schien gut zu funktionieren) oder ist die if-Anweisung problematisch?

Antwort

-1

Setzen Sie eine g am Ende Ihrer Regex. g ist ein globaler Modifikator, der mehr als eine Übereinstimmung zurückgibt.

/[\S]{2,3}[1|2|3]/g