In der Vergangenheit verwendete JS selten den regulären Ausdruck.
Vor kurzem habe ich einige regelmäßige Ausdrücke begegnet, die verwendet werden müssen, und übrigens studieren
Es gibt zwei Definitionsmethoden der regulären Ausdrucksobjekte ::
1. Die erste Definition:
New Regexp (Muster, Attribute);
Unter ihnen ist Muster der Expressionsinhalt des Ausdrucks, als ob das obige ABC zeigt
Attribute: G, globale Übereinstimmung, ich unterscheide nicht zwischen kleinem und niedrigerem Fall.
2. Die zweite Definition:/Muster/Attribute.
Wie: var reg = /abc /g;
Einige Regeln, die im regulären Ausdruck ausgedrückt werden, werden hier nicht mehr erklärt, nur der Unterschied zwischen Exec und Übereinstimmung:
1. EXEC ist eine Methode des regulären Ausdrucks, keine String -Methode.
Wie die obige Definition
var reg = neuer regexp ("ABC");
var str = "3ABC4, 5ABC6";
Reg.exec (str);
2. Match ist eine Methode für die String, um regelmäßige Ausdrucksregeln auszuführen.
var reg = neuer regexp ("ABC");
var str = "3ABC4, 5ABC6";
Str.Match (z. B.);
3. Exec and Match -Rückgabe sind Arrays;
Wenn der von EXEC ausgeführte reguläre Ausdruck keine sub -expression (Inhalt in den kleinen Klammern wie/s*)/(/s*)/(/s*) hat, geben Sie den ersten Matching -String -Inhalt zurück, wenn es eine Übereinstimmung gibt Inhalt, es gibt zu diesem Zeitpunkt nur ein Element, wenn sie nicht übereinstimmen und zu Null zurückgegeben werden.
var reg = neuer regexp ("ABC");
var str = "3ABC4, 5ABC6";
alert (reg.exec (str));
Alert (Str.Match (reg));
Führen Sie den gleichen Code aus, Sie werden feststellen, dass der Inhalt der beiden der gleiche ist: ABC,
4. Wenn das reguläre Ausdrucksobjekt als globales Matching definiert ist, wie:
var reg = neuer regexp ("abc", "g");
var str = "3ABC4, 5ABC6";
Alert (Reg.exec (str));
Alert (Str.Match (reg));
Für ABC und ABC wird ABC;
5. Wenn es bedeutet, dass die Sub -Expression in:
var reg = neuer regexp ("a (bc)");
var str = "3ABC4, 5ABC6";
alert (reg.exec (str));
Alert (Str.Match (reg));
Sie werden feststellen, dass die Ergebnisse der beiden Ausführungen: ABC, BC sind;
6. Wenn das reguläre Ausdrucksobjekt als globales Match definiert ist
var reg = neuer regexp ("a (bc)", "g");
var str = "3ABC4, 5ABC6";
alert (reg.exec (str));
Alert (Str.Match (reg));
Das Ergebnis der beiden zurückgegebenen ist ABC, BC und ABC, ABC,
Zusammenfassung als:
1. Wenn der reguläre Ausdruck keine sub -expression aufweist und als nicht -global -Matching definiert ist, sind die Ergebnisse von Exec und Match gleich und der erste Matching -String -Inhalt wird zurückgegeben.
2. Wenn der reguläre Ausdruck keine Sub -Expression aufweist und als globale Übereinstimmung, Ausführung und Übereinstimmung definiert ist und mehrere Matching -Inhalte vorhanden sind, gibt das Match mehrere Elementararrays zurück.
3. Wenn der reguläre Ausdruck dargestellt wird und als eine nicht -full -scale -Übereinstimmung definiert ist, sind die Ergebnisse der Ausführung von Exec und Übereinstimmung die gleichen wie oben.
4. Wenn der reguläre Ausdruck als globaler Übereinstimmung dargestellt wird, sind die Ergebnisse von Exec und Übereinstimmung zu diesem Zeitpunkt. , wie über 6., 6., 6., 6., 6., 6. Stelle.
Das heißt, ob Exec durch die Gesamtsituation definiert ist, ist nicht miteinander verbunden und die Übereinstimmung ist mit der Gesamtsituation verbunden.