1: So erstellen Sie regelmäßige Ausdrücke
1. Textformat, die Verwendungsmethode lautet wie folgt:
/Muster/Flags (dh:/modus/marke)
2.Regexp -Konstruktor, die Verwendungsmethode lautet wie folgt:
New Regexp ("Muster" [, "Flags"]) (dh: New Regexp ("Muster" [, "mark"]))
Parameter:
Muster: Text, der einen regulären Ausdruck darstellt
Flags (Tag): Wenn Sie dieses Element angeben, können Flags eines der folgenden sein:
G: Global Match (volles Spiel)
I: Fall ignorieren (Fall ignorieren)
GI: Sowohl Global Match als Match als auch ignorieren Sie alle möglichen Werte und ignorieren Sie den Fall)
HINWEIS: Verwenden Sie keine Anführungszeichen, um Parameter im Textformat zu markieren, und verwenden Sie keine Zitate, um Parameter der Ergou -Generatorfunktion zu markieren. Also der folgende Ausdruck
Es ist gleichwertig:
/ab+c/i ============================ New Regexp ("AB+C", "I")
beschreiben:
Beim Erstellen regelmäßiger Ausdrücke mit Konstruktorfunktionen müssen normale Zeichenfolgen verwendet werden, um Regeln zu vermeiden (führende Zeichen/ in die Zeichenfolge).
Beispielsweise sind die folgenden zwei Aussagen gleichwertig:
re = new regexp ("// w+");
Re = // w+/
HINWEIS: Regexp hat ein voreingestelltes $ -Triput
$ 1, ..., $ 9 Attribute
Match Substrings, die in Klammern eingeschlossen sind, falls vorhanden.
Es ist Eigentum von Regexp
Statisch, nur lesen
Bereitgestellt in JavaScript 1.2, NES 3.0 oder höher
Beschreibung: Da die Eingabe eine statische Eigenschaft ist, kein Attribut einzelner regulärer Ausdrucksobjekte. Sie können diese mit regexp.input darauf zugreifen
Eigentum.
Die Anzahl der Substrings, die mit Klammern hinzugefügt werden können, ist nicht begrenzt, aber regelmäßige Ausdrucksobjekte können nur die letzten 9 beibehalten.
Die passende Zeichenfolge in Klammern können Sie das zurückgegebene Array verwenden.
<! DocType html public "-// w3c // dtd html 4.0 transitional // ede Str = "John Smith"; Newsstr = Str.Replace (Regexp, "$ 2"); newsstr2 = str.replace (regexp, "$ 1"); document.write ("Original String:"+str+"<br/>"); document.write (NewStr+"<br/>"); document.write (NewStr2+"<br/>"); document.write ('$ 1 ='+regexp. $ 1+"$ 2 ="+regexp. $ 2); </Script> </head> <body> </body> </html>2: Die match () -Methode kann den angegebenen Wert innerhalb einer Zeichenfolge abrufen oder eine Übereinstimmung für einen oder mehrere reguläre Ausdrücke finden. Es gibt den angegebenen Wert zurück, nicht die Position der Zeichenfolge.
Grammatik
StringObject.match (SearchValue)
stringObject.match (regexp) Parameterbeschreibung
SearchValue erforderlich. Gibt den zu abgerufenen Stringwert an.
Regexp ist erforderlich. Regexp -Objekt, das das übereinstimmende Muster angibt. Wenn der Parameter kein Regexp -Objekt ist, müssen Sie ihn zuerst an den Regexp -Konstruktor übergeben und in ein Regexp -Objekt konvertieren.
Rückgabewert
Speichert das passende Ergebnisarray. Der Inhalt dieses Arrays hängt davon ab, ob Regexp die globale Flagge hat.
veranschaulichen
Die match () -Methode ruft das String StringObject ab, um einen oder mehrere Text -Matching Regexp zu finden. Das Verhalten dieser Methode hängt in hohem Maße davon ab, ob Regexp die Flagge hat.
Wenn Regexp kein Flag G hat, kann die match () -Methode nur einmal in StringObject einmal ein Match ausführen. Wenn kein passender Text gefunden wird, gibt match () null zurück. Andernfalls wird ein Array zurückgegeben, in dem Informationen über den gefundenen passenden Text gespeichert sind.
Beispiel für die Übereinstimmungsnutzung:
<! DocType html public "-// w3c // dtd html 4.0 transitional // ede var str2 = "23/23/55"; var resultes = str.match (neuer regexp ("// d+", "gi")); für (var i = 0; i <results.length; i ++) {document.write (Ergebnisse [i]+"<br/>"); } var res = str2.match (neuer regexp ("(// d // d?)/(// d // d?)/(// d // d)")); if (str. document.write (res [2]+"<br/>"); document.write (res [3]+"<br/>"); } </Script> </head> <body> </body> </html> Funktion datecheck (value) {re = new Regexp ("(// d // d?)/(// d // d?)/(// d // d)"); var result = value.match (re); if (result) {if (result [0] .Length! } else {var t = result [3]; var y = parseInt ("20" + t); var M = ParseInt (Ergebnis [1], 10) - 1; var tag = parsesint (Ergebnis [2], 10); var d = neues Datum (y, m, Tag); if (d.sGetingfoyear ()! = y || d.GetMonth ()! } else {var sm = result [1] .Length == 1? '0' + Ergebnis [1]: Ergebnis [1]; var sday = result [2] .Length == 1? '0' + Ergebnis [2]: Ergebnis [2]; var Sy = Ergebnis [3]; sonst return sm + '/' + sday + '/' + sy; }}} else {alert ("Falsches Datumsformat. Das richtige Format sollte MM/dd/yy sein."); false zurückgeben; }}