Heim  >  Artikel  >  Web-Frontend  >  Wie verwende ich reguläre Ausdrücke in Javascript?

Wie verwende ich reguläre Ausdrücke in Javascript?

青灯夜游
青灯夜游nach vorne
2020-07-06 10:09:032552Durchsuche

Wie verwende ich reguläre Ausdrücke in Javascript?

In diesem Abschnitt geht es um die Verwendung regulärer Ausdrücke in js. Beachten Sie, dass reguläre Ausdrücke ein Referenztyp sind.

Initialisierung: Literale und Objekte verwenden

Wie bei der Definition von Objekten können wir Literale verwenden, um reguläre Ausdrücke zu definieren, oder wir können reguläre Objekte verwenden, um reguläre Ausdrücke zu definieren. Der Unterschied zwischen ihnen ist Es gibt einige Unterschiede bei der verwendeten Escape-Funktion.

Wenn Sie Literale verwenden, können Sie das passende Muster schreiben oder nicht. Wenn wir es verwenden, verwenden wir normalerweise die Literal-Initialisierung Es ist einfacher und das Escapen ist nicht so kompliziert wie bei Zeichenfolgen.

// 正则表达式 /at/g 表示匹配所有at  /g表示全局搜索
var pattern1 = /at/g; // 注意不用字符串
var pattern2 = RegExp('/at', 'g');

Folgendes muss maskiert werden:
Wie verwende ich reguläre Ausdrücke in Javascript?

Attribute regulärer Objekte

Da die Attribute regulärer Objekte in Literalvariablen gesehen werden können, also Diese Methoden sind nicht sehr nützlich, kennen Sie sie einfach:
Wie verwende ich reguläre Ausdrücke in Javascript?

exec()-Methode (Erfassungsmethode)

Das Ergebnis der Ausführung der exec-Methode stimmt nicht alle überein Elemente, aber Der Rückgabewert des ersten übereinstimmenden Elements ist wie im folgenden Code gezeigt (über das Konzept der Erfassungsgruppe werden wir es später verwenden). Hier wissen wir, dass jeweils nur eines übereinstimmt und zurückgegeben wird an der 0. Position des Arrays)

// exec的返回值
var text = 'mom and dad and baby';
var pattern = /mom( and dad( and baby)?)?/gi;

var matches = pattern.exec(text);
alert(matches.index); // 0 // 拥有index属性标识匹配项再字符串中的位置
alert(matches.input); // mom and dad and baby // 标识原字符串
alert(matches[0]); //mom and dad  // 标识匹配的字符串
alert(matches[1]); //and dad  //捕获组匹配的字符串
alert(matches[2]); //and baby

Bitte achten Sie in der exec-Methode auf die Auswirkung des globalen Flags /g auf die Ausführungsergebnisse. Wenn /g nicht geschrieben wird, gibt es keinen globalen Abgleich. Jede Ausführung beginnt von vorne, der Abgleich erfolgt global. Das folgende Beispiel kann diese Situation veranschaulichen: Fügen Sie /g hinzu und sehen Sie, wie das Ergebnis ändert sich

// 不写/g  每一次都是从头开始匹配
var text = 'cat, bat, sat, fat';
var pattern1 = /.at/;
var matches = pattern1.exec(text);
alert(matches.index); //0
alert(matches[0]); //cat
alert(pattern1.lastIndex); //0   //lastIndex方法是问题的关键,注意它是pattern1对象的属性,其实就记录了这个正则匹配到哪个位置了,这里都是0说明是一直从零开始匹配

matches = pattern1.exec(text);
alert(matches.index); //0
alert(matches[0]); //cat
alert(pattern1.lastIndex); //0

Testmethode

Die Testmethode wird verwendet, um nach dem Abgleich „true false“ zurückzugeben, wenn Sie nur wissen möchten, ob eine Übereinstimmung vorliegt, aber nicht das Spezifische wissen möchten Ergebnis, verwenden Sie dies. Wird häufig in if-Anweisungen verwendet, um zu bestimmen, ob Benutzereingaben gültig sind usw.

var text = 'cat, bat, sat, fat';
var pattern1 = /.at/g;
var matches = pattern1.exec(text);
alert(matches.index); //0
alert(matches[0]); //cat
alert(pattern1.lastIndex); //3 //lastIndex标识经过了这次匹配,下次匹配应该从什么位置开始进行

matches = pattern1.exec(text);
alert(matches.index); //5  // 标识匹配到的位置
alert(matches[0]); //bat
alert(pattern1.lastIndex); //8

Globale Attribute

Über die Attribute von RegExp können wir einige globale reguläre Informationen abrufen, z. B. welche Zeichenfolge gerade eingegeben wurde und welche Informationen beim letzten Mal abgeglichen wurden global Schauen wir uns für statische Variablen an, welche Informationen globale Attribute unterstützen.


Beachten Sie, dass globale Attribute sowohl mit langen als auch mit kurzen Attributnamen abgerufen werden können. Werfen wir einen Blick auf die Verwendung von langen und kurzen AttributenWie verwende ich reguläre Ausdrücke in Javascript?

Wie verwende ich reguläre Ausdrücke in Javascript?
Wie verwende ich reguläre Ausdrücke in Javascript?
Wie verwende ich reguläre Ausdrücke in Javascript?Nicht unterstützte Funktionen

Wie verwende ich reguläre Ausdrücke in Javascript?Verwandte Tutorial-Empfehlungen:

JavaScript-Video-Tutorial

Das obige ist der detaillierte Inhalt vonWie verwende ich reguläre Ausdrücke in Javascript?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:csdn.net. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen