Heim > Web-Frontend > js-Tutorial > Sortieren der Verwendung von Ausdrücken in Javascript_Javascript-Kenntnissen

Sortieren der Verwendung von Ausdrücken in Javascript_Javascript-Kenntnissen

WBOY
Freigeben: 2016-05-16 16:48:35
Original
1783 Leute haben es durchsucht

Bruder, ich habe kürzlich JavaScript gelernt, als ich den regulären Ausdruck lernte. Ich fand, dass die Wissenspunkte etwas verwirrend waren, also habe ich einen Blog geschrieben, um ihn zusammenzufassen.

Definition

Es gibt zwei Möglichkeiten, reg exp in JavaScript zu definieren:

1) Neues exp verwenden: var exp1 = new exp("abc");

2) Platzieren Sie das Muster direkt zwischen den beiden /s: var exp2 = /abc/; //Hinweis. . Es gibt keine doppelten Anführungszeichen, wenn Sie sie hinzufügen.

Sonderzeichen

Die visuelle Betrachtung zeigt, dass die Sonderzeichen mit denen in Perl identisch sind. . Verwenden Sie es einfach direkt

d Ziffernzeichen
w Alphanumerische Zeichen („Wortzeichen“)
s Leerzeichen (Leerzeichen, Tabulator, Zeilenumbruch und ähnliches)
D Zeichen, die keine Ziffern sind
W Nicht alphanumerische Zeichen
S Nicht-Leerzeichen
Ein Punkt entspricht allen Zeichen außer Zeilenumbrüchen
Es gibt eine sehr einfache Möglichkeit, sich zu merken:

d = Ziffer So ist es Zahlen

w = Wort Es sind also Buchstaben

s = Leerzeichen Es sind also Leerzeichen

Alle Großbuchstaben sind umgekehrt. .

Klammern []

Das Einfügen von Muster in Klammern bedeutet, dass es wahr ist, solange es mit einem beliebigen Zeichen übereinstimmt. (Das Gleiche wie Java oder Perl)

Zum Beispiel:

Kopieren Sie den Code Der Code lautet wie folgt:

console.log(/[01]/.test("023424")); // true

console.log(/[01]/.test("13424" )) ; // true

console.log(/[01]/.test("23424")); // false

Klammern ()

bedeutet, dass alles in den Klammern übereinstimmen muss, um wahr zu sein

Zum Beispiel:
Kopieren Sie den Code Den Code lautet wie folgt:

console.log(/[01]/.test("013424")); // true

console.log(/[01]/. test("13424")); // false

console.log(/[01]/.test("230424")); // false

console.log(/[ 01]/.test("230142401 ")); // true

Quantifizierer

sind die gleichen wie Java. . Diese Uhr ist sehr gut. . Bruder, ich verwende immer gerne

Greedy Reluctant Possessive Meaning
X? X?? X? X, once or not at all
X* X*? X* X, zero or more times
X X ? X X, one or more times
X{n} X{n}? X{n} X, exactly n times
X{n,} X{n,}? X{n,} X, at least n times
X{n,m} X{n,m}? X{n,m} X, at least n but not more thanm times


Ausdrucksobjektfunktionen

1) test Dies ist sehr einfach. Geben Sie einfach die zu testende Zeichenfolge in test(...) ein. Diese Funktion gibt true/false zurück. Stellt eine Übereinstimmung dar /unmatch

2) exec, diese Funktion gibt null zurück, wenn die passende Zeichenfolge nicht gefunden wird. Wenn sie gefunden wird, wird ein Array zurückgegeben, das die passenden Zeichenfolgen in der Reihenfolge enthält

3 ) Zeichenfolge .replace(Ausdruck1, Zeichenfolge1) Diese Funktion ersetzt den Übereinstimmungsteil in Ausdruck durch Zeichenfolge1. In Zeichenfolge1 kann die Klammergruppe

im vorherigen Ausdruck verwendet werden, um einen bestimmten Teil davon zu ersetzen. Beispielsweise kann „co-ol“.replace(/[w] -[w] /,„$2-$1“); //„ol-co“ bis $9

4)String verwendet werden. Ersetzen (Ausdruck, Funktion) Dies ist eine erweiterte Version und sehr leistungsfähig. Sie können jede gewünschte Ausgabe über eine Funktion definieren. Die spezifische Verwendung ist hier nicht aufgeführt, siehe

Klicken Sie hier, um den Link zu öffnen

Dynamische Generierung von Reg-Ausdrücken
Wenn die Dinge, die Sie in Reg-Exp verwenden möchten, nur von bekannt sind Zur Laufzeit kann diese Methode
angewendet werden, um reg exp zu generieren. Tatsächlich müssen Sie nur einen String verwenden, um das Erscheinungsbild von reg exp zu erstellen, und dann den Konstruktor von Exp verwenden. (Erwähnt am Anfang des Artikels)

Zum Beispiel:
Kopieren Sie den Code Der Code lautet wie folgt :

var name = "lieb"

"oh, mein Schatz".replace(new Exp(name), "god"); // oh mein Gott

Aber wenn der Name Sonderzeichen enthält, die in regulären Ausdrücken verwendet werden können, geht die obige Methode oft schief.
In diesem Fall können wir also vor jedem Zeichen der Eingabezeichenfolge einen Backslash hinzufügen, zum Beispiel:
Code kopieren Der Code lautet wie folgt:

var name = df[]vxv;
var expName = name.replace("/[^/w/s]/g"," \$&");
"mein Name ist df[]vxv".replace(new Exp(name), "Bob"); // mein Name ist Bob
Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage