JavaScript - Tutorial - Objektreferenz - RegExp-Objekte

RegExp

RegExp-Objekte werden nicht über new angelegt, sondern wie einfache Variablen definiert, besitzen aber trotzdem die volle Funktionalität von Objekten. Sie dienen der Suche regulärer Ausdrücke in Strings. Hauptsächlich werden sie durch die Funktionen von String-Objekten benutzt, welche "match", "replace" und "search" heißen. Trotzdem bringen sie eigene Funktionalität mit.

Attribute von RegExp-Objekten
Attribut Bedeutung
$1 .. $9Merkplätze eines regulären Ausdrucks


Funktionen von RegExp-Objekten
Funktion Bedeutung
exec(param) Durchsucht den übergebenen String und gibt alle Treffer als Array zurück.
test(param) Durchsucht den übergebenen String und gibt true zurück falls es Treffer gibt, sonst false.


RegExp-Objekte zur Erzielung höchstens eines Treffers werden auf folgende Weise notiert: /Ausdruck/.
die Variable wird wie folgt erzeugt: var Variablenname=/Ausdruck/.
RegExp-Objekte zur Erzielung mehrerer Treffer erhalten am Ende ein g: /Ausdruck/g.
Soll Groß- und Kleinschreibung nicht unterschieden werden, wird zum Schluß ein i angehängt: /Ausdruck/i.
Als Kombination ist auch diese Notation möglich: /Ausdruck/gi.
Ausdruck kann eine einfache Buchstabenfolge sein oder weitere, spezielle Steuercodes enthalten.
Die folgenden Beispiele erklären die Suche im Inhalt der Variablen var ZK="", allerdings nicht mittels exec(...), sondern mittels der String-Funktion match(...).

Steuercodes von RegExp-Objekten
Steuercode spezifizierte Bedeutung  Beispiel (nur bei aktiviertem JavaScript verfügbar, liefert je nach Browser-Fähigkeiten auch falsche oder gar keine Ergebnisse)
Merkplätze
(...) belegt einen Merkplatz für gefundene Ausdrücke. Bis zu neun sind möglich.
Position innerhalb des Strings und von Wörtern
^ am Anfang einer Zeichenkette
$ am Ende einer Zeichenkette
\b Wortgrenze
\B nicht an einer Wortgrenze
Aneinanderreihung gleicher oder gleichartiger Zeichen
* Folge aus beliebig vielen gleichen Buchstaben
+ Folge aus einem oder mehr gleichen Buchstaben
Art des Zeichens
. Beliebiges Zeichen
\d Ziffer
\D keine Ziffer
\f Seitenvorschub
\n Zeilenumbruch
\r Wagenrücklauf
\t Tabulator
\v Vertikaltabulator
\s Wortzwischenraum (Space, Tab, ...)
\S einzelnes Zeichen, kein Wortzwischenraum
\w alphanumerisches Zeichen oder Unterstrich
\W Zeichen, weder alphanumerisch noch Unterstrich
Beispielkombinationen
.* Folge aus beliebig vielen beliebigen Zeichen
.+ Folge aus einem oder mehr beliebigen Zeichen
\d+ Folge aus einer oder mehr Ziffern
\w* Folge alphanumerischer Zeichen
\bd\S* Wort, das mit kleinem oder großem d anfängt


Benutzung von RegExp-Objekten


var limerick="";
limerick+="Ein standardgeschorener Pudel <br>";
limerick+="lernt tanzen bei leichtem Gedudel <br>";
limerick+="Weiss, dass er gefaellt <br>";
limerick+="und wenn er dann bellt <br>";
limerick+="bekommt er zum Lohn ein Stueck Strudel <br>";
limerick+="[ Rita Molineus ] <br>";
limerick+="[ Zeichensatz umgestellt von Ulrich Kritzner ]";

var rhyme1=/\b\S*udel/g;
var rhyme2=/\b\S*llt/g;
var ifthen=/\b\S*nn/g;
var st_=/\bst\S*/gi;

var rhymes1=limerick.match(rhyme1);
var rhymes2=limerick.match(rhyme2);
var ifthens=limerick.match(ifthen);
var st_s=limerick.match(st_);

Hier die Inhalte der Variablen:

limerick (String):


rhymes1 (Array):
rhymes2 (Array):
ifthens (Array):
st_s (Array):


Autor: Ulrich Kritzner