SELFHTML/Quickbar
JavaScript
Objektreferenz
![]() |
RegExp |
|
|
Eigenschaften:
Methoden: |
Reguläre Ausdrücke dienen dazu, Suchausdrücke zu formulieren, um in Zeichenketten danach zu suchen und um gefundene Stellen durch andere zu ersetzen.
Reguläre Ausdrücke können Sie in JavaScript direkt innerhalb entsprechender Methoden des
string-Objekts anwenden, nämlich in den Methoden:
match()
replace()
search().
Dort wird beschrieben, wie und wo Sie den regulären Ausdruck genau verwenden können, um Zeichenketten zu durchsuchen und Teile darin zu ersetzen.
Das RegExp-Objekt von JavaScript brauchen Sie dagegen nur, wenn Sie reguläre Ausdrücke zur Laufzeit des Scripts dynamisch erzeugen und ändern wollen. Dazu können Sie eine Instanz eines RegExp-Objekts definieren. Auf diese Instanz können Sie anschließend die Eigenschaften und Methoden des RegExp-Objekts anwenden, die hier beschrieben werden.
<html><head><title>Test</title>
<script language="JavaScript">
function Ausgabe(Wert)
{
var Ausdruck = /(\w.+)\s(\w.+)/;
Ausdruck.exec(Wert);
alert(RegExp.$2 + ", " + RegExp.$1);
}
</script>
</head><body>
<form>
<input name="User" value="Vorname Zuname">
<input type=button value="Ausgabe" onClick="Ausgabe(this.form.User.value)">
</form>
</body></html>
|
Das Beispiel zeigt, wie sich ein Name des Schemas "Vorname Name" unter Verwendung eines regulären Ausdrucks in das Schema "Name, Vorname" verwandeln läßt.
Das Beispiel enthält ein Formular mit einem Eingabefeld und einem Button. In dem Eingabefeld soll der Anwender seinen Namen in der Form "Vorname Name" eingeben. Deshalb ist das Feld auch schon so vorbelegt. Beim Anklicken des Buttons wird die Funktion Ausgabe() aufgerufen, die im Dateikopf definiert ist. Als Parameter bekommt die Funktion den Inhalt des Eingabefeldes übergeben.
Innerhalb der Funktion wird ein regulärer Ausdruck (Suchausdruck) definiert, der in der Variablen Ausdruck gespeichert wird. Solche regulären Ausdrücke werden in einfache Schrägstriche /.../ eingeschlossen. Der reguläre Ausdruck im obigen Beispiel ist so zu lesen: Suche nach einer beliebigen Anzahl von aneinandergereihten Buchstaben ohne Ziffern und Satzzeichen und merke dir das Ergebnis = (\w.+). Suche dann nach einem einzelnen Leerzeichen = \s. Suche dann noch mal nach einer beliebigen Buchstabenreihenfolge und merke dir das Ergebnis = (\w.+). Auf diese Weise wird das Schema "Vorname Name" gefunden. Die beiden Klammern um das (\w.+) führen dazu, daß die beiden einzelnen Buchstabenreihenfolgen als einzelne Teile intern gemerkt werden. Später sind diese einzelnen gemerkten Teile separat ansprechbar.
Im Beispiel wird mit dem nächsten Befehl die eine wichtige Methode des RegExpr-Objekts auf den zuvor definierten regulären Ausdruck angewendet, nämlich die Methode exec(). Dadurch wird der Ausdruck "ausgeführt" und direkt dem RegExpr-Objekt zugewiesen. Im Beispiel wird mit RegExp.$2 direkt auf den zweiten, zuvor intern gemerkten Klammerausdruck zugegriffen, und mit RegExp.$1 auf den ersten dieser Ausdrücke. Durch die Anordnung mit dem Komma dazwischen bei der Ausgabe mit alert() erscheint der zuvor eingegebene "Vorname Name" dann in dem anderen Schema "Name, Vorname".
Die folgende Übersicht zeigt, aus welchen Bestandteilen Sie einen regulären Ausdruck zusammensetzen können.
| Bestandteil | Beispiel | Beschreibung | ||
| /aus/ | findet "aus", und zwar in "aus", "Haus", "auserlesen" und "Banause". | |||
| ^ | /^aus/ | findet "aus" am Anfang des zu durchsuchenden Wertes, also in "aus" und "auserlesen", sofern das die ersten Wörter im Wert sind. | ||
| $ | /aus$/ | findet "aus" am Ende des zu durchsuchenden Wertes, also in "aus" und "Haus", sofern das die letzten Wörter im Wert sind. | ||
| * | /aus*/ | findet "aus", "auss" und "aussssss", also das letzte Zeichen vor dem Stern 0 oder beliebig oft hintereinander wiederholt. | ||
| + | /aus+/ | findet "auss" und "aussssss", also das letzte Zeichen vor dem Stern mindestens einmal oder beliebig oft `i.terdia|der wiefePhol.5/td
/vr2
| 2 |