it-swarm.com.de

Was bedeutet / gi in einem regulären Ausdruck?

Ich sehe eine Zeile in meinem JavaScript-Code wie folgt:

var regex = /[^\w\s]/gi;

Was bedeutet das /gi in der Regex?

Anderer Teil, den ich verstehen kann, da er eine Gruppe von Wörtern und Leerzeichen akzeptiert, aber nicht /gi.

60
batman
g modifier: global. All matches (don't return on first match)

i modifier: insensitive. Case insensitive match (ignores case of [a-zA-Z])

In Ihrem Fall spielt i keine Rolle, da Sie [a-zA-Z] Nicht erfassen.

Für Eingaben wie [email protected]#$, Wenn der Modifikator g nicht vorhanden ist, gibt regex die erste Übereinstimmung zurück ! Siehe hier .

Wenn g vorhanden ist, wird das gesamte Ergebnis oder alles zurückgegeben, womit es übereinstimmen kann. Siehe hier

72
vks

Der Anfang und das Ende / werden Trennzeichen genannt. Sie teilen dem Dolmetscher mit, wo der reguläre Ausdruck beginnt und endet. Alles nach das schließende Trennzeichen wird als "Modifikator" bezeichnet, in diesem Fall g und i.

Die Modifikatoren g und i haben folgende Bedeutung:

  • g = global, stimmt mit allen Instanzen des Musters in einer Zeichenfolge überein, nicht nur mit einer
  • i = Groß- und Kleinschreibung wird nicht berücksichtigt (also zum Beispiel /a/i passt zur Zeichenfolge "a" oder "A".

In dem Kontext, den Sie gaben (/[^\w\s]/gi) ist das i bedeutungslos, da es keine fallspezifischen Teile des regulären Ausdrucks gibt.

19
Ed Cottrell