. .

PHP • RegEx Beispiele

PHP - Beispiele für Reguläre Ausdrücke

Hier nun ein paar praxisnahe Beispiele zur Anwendung von Regulären Ausdrücken in PHP.

» Erklärung zu Regulären Ausdrücken / Regular ExpressionsErklärung zu Regulären Ausdrücken und » Erklärung zu PCRE FunktionenErklärung zu PHP PCRE-Funktionen

Spickzettel / Cheat Sheets


Jahreszahl prüfen


Mit diesem RegEx Beispiel kann die Eingabe einer Jahreszahl zwischen 1900 und 2099 überprüft werden.

if (preg_match(~^(19\d{2}|20\d{2})$~ , $subject)) 


<?php
$pattern	= '~^(19\d{2}|20\d{2})$~';
$subject	= '2016';
if (preg_match('~^(19\d{2}|20\d{2})$~' , $subject)){ echo "OK, $subject passt";
} else {
echo "Fehler, $subject passt nicht";
}
?>
Das Beispiel erzeugt folgende Ausgabe:
OK - ' 2016 ' passt



Der obige Reguläre Ausdruck, wird am Anfang durch den Delimiter ~ begrenzt und der Beginn der Zeichenkette wird mit dem Zirkumflex ^ gekennzeichnet.

Mit den Runden Klammern ( ) definieren wir eine Zusammenfassungen zu einem Unterausdruck.

Mit der Zahl 19 fordern wir genau diese Zahl. Die Zeichenklasse \d legt fest, dass nach der 19 weitere Ziffern folgen. Die Anzahl der folgenden Ziffern wird durch den Quantifier {2} definiert, diese müssen somit zweistellig sein.

Darauf folgend setzen wir das Metazeichen Pipe | um dem Unterausdruck eine ODER Funktion hinzuzufügen.

Mit der Zahl 20 fordern wir somit genau diese Zahl. Die Zeichenklasse \d und der Quantifier {2} legen fest, dass nach der 20 wiederum eine zweistellige Zahl folgen muss.

Die geschlossene runde Klammer ) definiert das Ende der Zusammenfassung, dass Ende der Zeichenkette wird durch das Dollarzeichen $ gefolgt vom begrenzenden Delimiter ~ kennzeichnet.


Datum prüfen


Mit diesem RegEx Beispiel kann die Eingabe eines Datums überprüft werden, das Datumsformat kann dabei ein- oder zweistellige Tages und Monatsangaben wie auch zwei- oder vierstellige Jahresangaben zwischen 1900 und 2099 prüfen. Als Trennung werden Bindestrich, Leerzeichen und Punkt zugelassen.

if (preg_match(%^(0?[1-9]|[12][0-9]|3[01])[- /.](0?[1-9]|1[012])[- /.](19|20)?[\d]{2}$% , $subject)) 


<?php
$pattern	= '%^(0?[1-9]|[12][0-9]|3[01])[- /.](0?[1-9]|1[012])[- /.](19|20)?[\d]{2}$%';
$subject	= '09.12.2016';
if (preg_match('%^(0?[1-9]|[12][0-9]|3[01])[- /.](0?[1-9]|1[012])[- /.](19|20)?[\d]{2}$%' , $subject)){ echo "OK, $subject passt";
} else {
echo "Fehler, $subject passt nicht";
}
?>
Das Beispiel erzeugt folgende Ausgabe:
OK - ' 09.12.2016 ' passt



%^(0?[1-9]|[12][0-9]|3[01])[- /.](0?[1-9]|1[012])[- /.](19|20)?[\d]{2}$%

Der obige Reguläre Ausdruck, wird am Anfang durch den Delimiter % begrenzt und der Beginn der Zeichenkette wird mit dem Zirkumflex ^ gekennzeichnet.

Mit der Runden Klammer ( definieren wir die Zusammenfassungen zu einem Unterausdruck fr den Tag im Datum.

Der Ausdruck 0, gefolgt vom Metazeichen Fragezeichen ? definiert, dass das Voranstehende Zeichen vorkommen kann, aber nicht vorkommen muss.

Mit der Zeichenklasse [1-9] erlauben wir alle Ziffern von 1 bis 9.

Darauf folgend setzen wir das Metazeichen Pipe | um dem Unterausdruck eine ODER Funktion hinzuzufügen.

Mit der Zeichenklasse [12] erlauben wir die Ziffern 1 und 2, gefolgt von der Zeichenklasse [\d] erlauben wir alle Ziffern von 0 bis 9.

Darauf folgend setzen wir das Metazeichen Pipe | um dem Unterausdruck eine weitere ODER Funktion hinzuzufügen.

Der Ausdruck 3 gefolgt von der Zeichenklasse [01] erlaubt die Ziffern 0 und 1.

Die geschlossene runde Klammer ) definiert das Ende der Zusammenfassung dieses Unterausdrucks.

Diesem Unterausdruck folgt nun die Zeichenklasse [- /.], die somit die Zeichen Bindestrich - und Leerzeichen   sowie den Punkt . zulsst. Da der Punkt . ein Metazeichen ist und als normales Zeichen behandelt werden soll mssen wir diesem maskieren und einen Backslash \ voranstellen.

Mit der Runden Klammer ( definieren wir die Zusammenfassungen zu einem Unterausdruck fr den Monat im Datum.

Der Ausdruck 0, gefolgt vom Metazeichen Fragezeichen ? definiert, dass das Voranstehende Zeichen vorkommen kann, aber nicht vorkommen muss.

Mit der Zeichenklasse [1-9] erlauben wir alle Ziffern von 1 bis 9.

Darauf folgend setzen wir das Metazeichen Pipe | um dem Unterausdruck eine ODER Funktion hinzuzufügen.

Mit der Zeichenklasse [12] erlauben wir die Ziffern 1 und 2, gefolgt von der Zeichenklasse [\d] erlauben wir alle Ziffern von 0 bis 9.

Darauf folgend setzen wir das Metazeichen Pipe | um dem Unterausdruck eine weitere ODER Funktion hinzuzufügen.

Der Ausdruck 3 gefolgt von der Zeichenklasse [01] erlaubt die Ziffern 0 und 1.

Die geschlossene runde Klammer ) definiert das Ende der Zusammenfassung dieses Unterausdrucks.

Diesem Unterausdruck folgt nun die Zeichenklasse [- /.], die somit die Zeichen Bindestrich - und Leerzeichen   sowie den Punkt . zulsst. Da der Punkt . ein Metazeichen ist und als normales Zeichen behandelt werden soll mssen wir diesem maskieren und einen Backslash \ voranstellen.

Mit der Runden Klammer ( definieren wir die Zusammenfassungen zu einem Unterausdruck fr das Jahr im Datum.

Der Zahl 19 wird durch das Metazeichen Pipe | eine ODER Funktion hinzugefügt, gefolgt von der Zahl 20 fordern wir somit genau eine dieser beiden Zahlen.

Das folgende Metazeichen Fragezeichen ? definiert, dass die Voranstehende Zahl vorkommen kann, aber nicht vorkommen muss. Die Zeichenklasse \d legt fest, dass weitere Ziffern folgen. Die Anzahl der folgenden Ziffern wird durch den Quantifier {2} definiert, diese müssen somit zweistellig sein.

Das Ende der Zeichenkette wird durch das Dollarzeichen $ gefolgt vom begrenzenden Delimiter % kennzeichnet.

Das Beispiel hat natürlich einen unübersehbaren Fehler, denn es ließe auch ein Datum vom Format 31.02.2016 zu. Um das Datum an sich auf Plausibilität zu überprüfen sind Reguläre Ausdrücke ungeeignet hierzu sollte die PHP-Funktion checkdate() verwandt werden.


Postleitzahl prüfen


Mit diesem RegEx Beispiel kann die Eingabe einer Postleitzahl überprüft werden, die in Deutschland immer fünfstellig ist und den Zahlenraum von 0 bis 9 belegt.

if (preg_match(#^[0-9]{5}$# , $subject)) 


<?php
$pattern	= '#^[0-9]{5}$#';
$subject	= '23936';
if (preg_match('#^[0-9]{5}$#' , $subject)){ echo "OK, $subject passt";
} else {
echo "Fehler, $subject passt nicht";
}
?>
Das Beispiel erzeugt folgende Ausgabe:
OK - ' 23936 ' passt



Der obige Reguläre Ausdruck, wird am Anfang durch den Delimiter # begrenzt und der Beginn der Zeichenkette wird mit dem Zirkumflex ^ gekennzeichnet.

Mit der Zeichenklasse [0-9] erlauben wir alle Ziffern. Alternativ hätte auch \d oder als POSIX-Zeichenklasse [[:digit:]] verwendet werden können. POSIX-Zeichenklassen sind nur innerhalb von Zeichenklassen erlaubt und müssen zusätzlich geklammert werden.

Darauf folgend setzen wir den Quantifier {5}, der die Anzahl der Zeichen definiert, in unserem Fall also 5 Ziffern.

Das Ende der Zeichenkette kennzeichnet das Dollarzeichen $ gefolgt vom begrenzenden Delimiter #.


Kreditkartenummer prüfen


Mit diesem RegEx Beispiel kann die Eingabe einer Kreditkartenummer auf Plausibilität überprüft werden.

if (preg_match(!^(4\d{3}([- ]?\d{4}){2}[- ]?\d{1,4})$! , $subject)) 


<?php
$pattern	= '!^(4\d{3}([- ]?\d{4}){2}[- ]?\d{1,4})$!';
$subject	= '4970 07564124-2800';
if (preg_match('!^(4\d{3}([- ]?\d{4}){2}[- ]?\d{1,4})$!' , $subject)){ echo "OK, $subject passt";
} else {
echo "Fehler, $subject passt nicht";
}
?>
Das Beispiel erzeugt folgende Ausgabe:
OK - ' 4970 07564124-2800 ' passt



Der obige Reguläre Ausdruck, wird am Anfang durch den Delimiter ! begrenzt und der Beginn der Zeichenkette wird mit dem Zirkumflex ^ gekennzeichnet.

Mit den Runden Klammern ( ) definieren wir die Zusammenfassung zu einem Unterausdruck.

Die darauf folgende Ziffer 4 ist der so genannte Major Industry Identifier (MII) und bestimmt den Kreditkartenherausgeber, in diesem Fall VISA. Mit der Zeichenklasse \d erlauben wir alle Ziffern, der Quantifier {3}, definiert die Anzahl der Zeichen, in unserem Fall muss der gesuchte Ausdruck genau 3 Mal vorkommen.

Mit der Zeichenklasse [- ] definieren wir die Zeichen die auf die vierstellige Zahl folgen, also ein Bindestrich - oder ein Leerzeichen  . Der Quantifier Fragezeichen ? gibt an, dass der Ausdruck vorkommen kann, aber nicht vorkommen muss.

Mit der folgenden Zeichenklasse \d erlauben wir alle Ziffern, der Quantifier {4}, definiert die Anzahl der Zeichen, die Zeichenklasse [- ] definiert die durch ? möglichen folgenden Zeichen. Dieser Ausdruck wiederholt sich zwei weitere male.

Im letzten Ausdruck verändern wir nur den Quantifier {1,4} und legen somit fest, dass die letzten Ziffern mindestens einmal und maximal vier Mal vorkommen dürfen, da die VISA Kreditkartennummer insgesamt dreizehn- bis sechzehnstellig sein kann.

Das Ende der Zusammenfassung des Unterausdrucks wird mit der Runden Klammern  ) definiert. Das Ende der Zeichenkette kennzeichnet das Dollarzeichen $ gefolgt vom begrenzenden Delimiter !.


IP Adresse prüfen


Mit diesem RegEx Beispiel kann die Übergabe einer IP Adresse auf Plausibilität überprüft werden. Eine IP Adresse besteht aus 4 Ziffernblöcken getrennt durch einen Punkt, wobei jeder einzelne Ziffernblock die Ziffern von 0 bis 255 belegen kann.

if (preg_match(=^((\d{1,2}|1\d{2}|2[0-4]\d|25[0-5])\.){3}(\d{1,2}|1\d{2}|2[0-4]\d|25[0-5])$= , $subject)) 


<?php
$pattern	= '=^((\d{1,2}|1\d{2}|2[0-4]\d|25[0-5])\.){3}(\d{1,2}|1\d{2}|2[0-4]\d|25[0-5])$=';
$subject	= '209.85.148.147';
if (preg_match('=^((\d{1,2}|1\d{2}|2[0-4]\d|25[0-5])\.){3}(\d{1,2}|1\d{2}|2[0-4]\d|25[0-5])$=' , $subject)){ echo "OK, $subject passt";
} else {
echo "Fehler, $subject passt nicht";
}
?>
Das Beispiel erzeugt folgende Ausgabe:
OK - ' 209.85.148.147 ' passt



=^((\d{1,2}|1\d{2}|2[0-4]\d|25[0-5])\.){3}(\d{1,2}|1\d{2}|2[0-4]\d|25[0-5])$=

Der obige Reguläre Ausdruck, wird am Anfang durch den Delimiter = begrenzt und der Beginn der Zeichenkette wird mit dem Zirkumflex ^ gekennzeichnet.

Mit den Runden Klammern ( ) definieren wir die Zusammenfassung zu einem Unterausdruck. In diesem Fall erstellen wir eine zweifache Zusammenfassung die erste Runde Klammer ( gefolgt von einer zweiten Runden Klammer (.

Mit der Zeichenklasse \d erlauben wir alle Ziffern, der Quantifier {1,2}, definiert die Anzahl der Zeichen, die mindestens einstellig aber maximal zweistellig sein dürfen. Wir definieren also eine Zahl von 0 bis maximal 99.

Darauf folgend setzen wir das Metazeichen Pipe | um dem Unterausdruck eine ODER Funktion hinzuzufügen.

Mit der Ziffer 1 legen wir fest, dass diese an erster Stelle steht, gefolgt von \d erlauben wir allen Ziffern, der Quantifier {2}, definiert die Anzahl der Zeichen, die exakt zweistellig sein müssen. Wir definieren also eine Zahl von 100 bis maximal 199.

Darauf folgend setzen wir das Metazeichen Pipe | um dem Unterausdruck eine ODER Funktion hinzuzufügen.

Mit der Ziffer 2 legen wir fest, dass diese an erster Stelle steht, gefolgt von [0-4] legen wir fest, dass die Ziffer 0 bis 4 an zweiter Stelle stehen darf, gefolgt von \d erlaubt allen Ziffern von 0 bis 9 für die dritte Stelle. Wir definieren also eine Zahl von 200 bis maximal 249.

Darauf folgend setzen wir das Metazeichen Pipe | um dem Unterausdruck eine ODER Funktion hinzuzufügen.

Mit der Ziffer 25 legen wir fest, dass diese die erste und zweite Stelle belegt, gefolgt von [0-5] legt fest, dass die Ziffer 0 bis 5 für die dritte Stelle. Wir definieren also eine Zahl von 250 bis maximal 255.

Nun schließen wir mit der Runden Klammer ) den ersten Unterausdruck. Nun folgt ein Backslash \, der den folgenden Punkt . , maskiert da dieser ein Metazeichen ist und als normales Zeichen behandelt werden soll. Mit einer weiteren Runden Klammer ) schließen wir nun den zweiten Unterausdruck.

Der folgende Quantifier {3} legt fest, dass unser Regulärer Ausdruck, der eine Ziffernfolge von 0 bis 255 zulässt, exakt drei Mal vorkommen muss.

Es fehlt nun also nur noch der letzte Ziffernblock, den wir identisch unserem bereits erstellten Unterausdruck, ohne einen Quantifier, anfügen.

Mit der Ziffer 1 legen wir fest, dass diese an erster Stelle steht, gefolgt von \d erlauben wir allen Ziffern, der Quantifier {2}, definiert die Anzahl der Zeichen, die exakt zweistellig sein müssen. Wir definieren also eine Zahl von 100 bis maximal 199.

Darauf folgend setzen wir das Metazeichen Pipe | um dem Unterausdruck eine ODER Funktion hinzuzufügen.

Mit der Ziffer 2 legen wir fest, dass diese an erster Stelle steht, gefolgt von [0-4] legen wir fest, dass die Ziffer 0 bis 4 an zweiter Stelle stehen darf, gefolgt von \d erlaubt allen Ziffern von 0 bis 9 für die dritte Stelle. Wir definieren also eine Zahl von 200 bis maximal 249.

Darauf folgend setzen wir das Metazeichen Pipe | um dem Unterausdruck eine ODER Funktion hinzuzufügen.

Mit der Ziffer 25 legen wir fest, dass diese die erste und zweite Stelle belegt, gefolgt von [0-5] legt fest, dass die Ziffer 0 bis 5 für die dritte Stelle. Wir definieren also eine Zahl von 250 bis maximal 255.

Nun schließen wir mit der Runden Klammer ) den letzten Unterausdruck und kennzeichnen durch das Dollarzeichen $ das Ende der Zeichenkette, gefolgt vom begrenzenden Delimiter =.


E-Mail Adresse prüfen


Mit diesem RegEx Beispiel kann die Übergabe einer E-Mail-Adresse mit falscher Syntax relativ zuverlässig überprüft werden. Eine E-Mail-Adresse mit gültiger Syntax ist jedoch nicht zwingend auch eine gültige E-Mail-Adresse!

Eine E-Mail-Adresse besteht grundsätzlich aus einem Empfängernamen (Local Part), dem Zeichen @ und dem Domainteil (Domain Part), der wiederum aus einer Subdomain und Domain oder IP-Adresse.

=^([a-zA-Z0-9][\w.-]*)@((?:[a-zA-Züöä0-9][\wüöä.-]*\.)*[a-zA-Züöä0-9][\wüöä._-]*\.[a-zA-Z]{2,}|((\d{1,2}|1\d{2}|2[0-4]\d|25[0-5])\.){3}(\d{1,2}|1\d{2}|2[0-4]\d|25[0-5]))$=


<?php
$pattern = '=^([a-zA-Z0-9][\w.-]*)@((?:[a-zA-Züöä0-9][\wüöä.-]*\.)*[a-zA-Züöä0-9][\wüöä._-]*\.[a-zA-Z]{2,}|((\d{1,2}|1\d{2}|2[0-4]\d|25[0-5])\.){3}(\d{1,2}|1\d{2}|2[0-4]\d|25[0-5]))$=';
$subject = 'Hermann-Mueller@m&uuml;ller-thurgau.example.com';
if (preg_match(=^([a-zA-Z0-9][\w.-]*)@((?:[a-zA-Züöä0-9][\wüöä.-]*\.)*[a-zA-Züöä0-9][\wüöä._-]*\.[a-zA-Z]{2,}|((\d{1,2}|1\d{2}|2[0-4]\d|25[0-5])\.){3}(\d{1,2}|1\d{2}|2[0-4]\d|25[0-5]))$= , $subject)){
echo "OK, $subject passt";
} else {
echo "Fehler, $subject passt nicht";
}
OK - ' Hermann-Mueller@m&uuml;ller-thurgau.example.com ' passt
?>



=^([a-zA-Z0-9][\w.-]*)@((?:[a-zA-Züöä0-9][\wüöä.-]*\.)*[a-zA-Züöä0-9][\wüöä._-]*\.[a-zA-Z]{2,}|((\d{1,2}|1\d{2}|2[0-4]\d|25[0-5])\.){3}(\d{1,2}|1\d{2}|2[0-4]\d|25[0-5]))$=

Der obige Reguläre Ausdruck, wird am Anfang durch den Delimiter = begrenzt und der Beginn der Zeichenkette wird mit dem Zirkumflex ^ gekennzeichnet.

Mit der Runden Klammer ( definieren wir den Beginn der Zusammenfassung zu einem Unterausdruck für den Empfängernamen (Local Part), die Zeichenklasse [a-zA-Z0-9], erlaubt alle Ziffern von 0 bis 9 sowie Zeichen von A bis Z in Klein- und Großschreibung. Die darauf folgende Zeichenklasse [\w.-], erlaubt alle Ziffern von 0 bis 9 sowie Zeichen von A bis Z in Klein- und Großschreibung sowie zusätzlich den Unterstrich _, Punkt . und Bindestrich -.

Der Quantifier Stern * definiert, dass der vorhergehende Ausdruck keinmal bis beliebig oft vorkommen kann, mit der Runden Klammer ) schließen wir den ersten Unterausdruck.

Das Zeichen @ trennt den Local Part vom Domain Part.

Mit der Runden Klammer ( gefolgt vom Quantifier Fragezeichen ? und dem Doppelpunkt : unterbinden wir die Nummerierung des Unterausdrucks und erstellen eine Gruppierung.

Die Zeichenklasse [a-zA-Züöä0-9], erlaubt alle Ziffern von 0 bis 9 sowie Zeichen von A bis Z in Klein- und Großschreibung sowie Umlaute. Die darauf folgende Zeichenklasse [\wüöä.-], erlaubt alle Ziffern von 0 bis 9 sowie Zeichen von A bis Z in Klein- und Großschreibung sowie den Unterstrich _ und zusätzlich Umlaute, Punkt . und Bindestrich -.

Der Quantifier Stern * definiert, dass der vorhergehende Ausdruck keinmal bis beliebig oft vorkommen kann, der folgende Backslash \, maskiert den Punkt . , da dieser ein Metazeichen ist und als normales Zeichen behandelt werden soll. Mit einer weiteren Runden Klammer ) schließen wir nun den zweiten Unterausdruck. Der Quantifier Stern * definiert, dass der gesamte Ausdruck keinmal bis beliebig oft vorkommen kann.

Die Zeichenklasse [a-zA-Züöä0-9], erlaubt alle Ziffern von 0 bis 9 sowie Zeichen von A bis Z in Klein- und Großschreibung sowie Umlaute. Die darauf folgende Zeichenklasse [\wüöä.-], erlaubt alle Ziffern von 0 bis 9 sowie Zeichen von A bis Z in Klein- und Großschreibung sowie den Unterstrich _ und zusätzlich Umlaute, Punkt . und Bindestrich -.

Der Quantifier Stern * definiert, dass der vorhergehende Ausdruck keinmal bis beliebig oft vorkommen kann, der folgende Backslash \, maskiert den Punkt . , da dieser ein Metazeichen ist und als normales Zeichen behandelt werden soll.

Die Zeichenklasse [a-zA-Z], erlaubt alle Zeichen von A bis Z in Klein- und Großschreibung, der folgende Quantifier {2, }, die Anzahl der Zeichen, und legt somit fest, dass die Zeichen mindestens zwei Mal und beliebig oft vorkommen dürfen.

Mit dem folgenden Metazeichen Pipe | fügen wir diesem Unterausdruck eine ODER Funktion hinzu.

Die Erklärung zum Reguläre Ausdruck für die Interner Link zum RegEx Beispiel: IP Adresse prüfenIP-Adresse finden Sie im vorherigen Beispiel

Das Ende der Zeichenkette wird durch das Dollarzeichen $ gefolgt vom begrenzenden Delimiter = kennzeichnet.


Domain prüfen


Mit diesem RegEx Beispiel kann die Übergabe einer Domain überprüft werden.

=^(http|https|ftp):\/\/(?:[a-zA-Züöä0-9][\wüöä.-]*\.)*[a-zA-Züöä0-9][\wüöä._-]*\.[a-zA-Z]{2,}$=


<?php
$pattern	= '=^(http|https|ftp):\/\/(?:[a-zA-Züöä0-9][\wüöä.-]*\.)*[a-zA-Züöä0-9][\wüöä._-]*\.[a-zA-Z]{2,}$=';
$subject	= 'https://example.com';
if (preg_match('=^(http|https|ftp):\/\/(?:[a-zA-Züöä0-9][\wüöä.-]*\.)*[a-zA-Züöä0-9][\wüöä._-]*\.[a-zA-Z]{2,}$=' , $subject)){ echo "OK, $subject passt";
} else {
echo "Fehler, $subject passt nicht";
}
?>
Das Beispiel erzeugt folgende Ausgabe:
OK - ' https://example.com ' passt



=^(http|https|ftp):\/\/(?:[a-zA-Züöä0-9][\wüöä.-]*\.)*[a-zA-Züöä0-9][\wüöä._-]*\.[a-zA-Z]{2,}$=

Der obige Reguläre Ausdruck, wird am Anfang durch den Delimiter = begrenzt und der Beginn der Zeichenkette wird mit dem Zirkumflex ^ gekennzeichnet.

Mit der Runden Klammer ( definieren wir den Beginn der Zusammenfassung zu einem Unterausdruck. Diesem fügen wir mit dem Metazeichen Pipe | eine ODER Funktion hinzu, und geben mglichen bertragungsprotokolle httpInformationBedeutung: httpHypertext Transfer Protocol deutsch: Hypertext-Übertragungsprotokoll; Protokoll zur Übertragung von Daten über ein Netzwerk, httpsInformationBedeutung: httpsHyperText Transfer Protocol Secure deutsch: sicheres Hypertext-Übertragungsprotokoll; Protokoll zur abhrsicheren Übertragung von Daten über ein Netzwerk und ftpInformationBedeutung: ftpFile Transfer Protocol deutsch: Dateibertragungsverfahren; spezifiziertes Netzwerkprotokoll zur bertragung von Dateien an. Mit der Runden Klammer ) schließen wir nun diesen Unterausdruck.

Fr den Ausdruck http|https knnen wir auch https? verwenden, das Metazeichen Fragezeichen ? definiert, dass das Voranstehende Zeichen s vorkommen kann, aber nicht vorkommen muss.

Auf diese Zusammenfassung folgen nun die Doppelpunkte : sowie die beiden Slashs /, da es sich bei diesem um einen Delimiter handelt, mssen diese mit dem Backslash \ maskiert werden.

Mit der Runden Klammer ( gefolgt vom Quantifier Fragezeichen ? und dem Doppelpunkt : unterbinden wir die Nummerierung des Unterausdrucks und erstellen eine Gruppierung.

Die Zeichenklasse [a-zA-Züöä0-9], erlaubt alle Ziffern von 0 bis 9 sowie Zeichen von A bis Z in Klein- und Großschreibung sowie Umlaute. Die darauf folgende Zeichenklasse [\wüöä.-], erlaubt alle Ziffern von 0 bis 9 sowie Zeichen von A bis Z in Klein- und Großschreibung sowie den Unterstrich _ und zusätzlich Umlaute, Punkt . und Bindestrich -.

Der Quantifier Stern * definiert, dass der vorhergehende Ausdruck keinmal bis beliebig oft vorkommen kann, der folgende Backslash \, maskiert den Punkt . , da dieser ein Metazeichen ist und als normales Zeichen behandelt werden soll. Mit einer weiteren Runden Klammer ) schließen wir nun den zweiten Unterausdruck. Der Quantifier Stern * definiert, dass der gesamte Ausdruck keinmal bis beliebig oft vorkommen kann.

Die Zeichenklasse [a-zA-Züöä0-9], erlaubt alle Ziffern von 0 bis 9 sowie Zeichen von A bis Z in Klein- und Großschreibung sowie Umlaute. Die darauf folgende Zeichenklasse [\wüöä.-], erlaubt alle Ziffern von 0 bis 9 sowie Zeichen von A bis Z in Klein- und Großschreibung sowie den Unterstrich _ und zusätzlich Umlaute, Punkt . und Bindestrich -.

Der Quantifier Stern * definiert, dass der vorhergehende Ausdruck keinmal bis beliebig oft vorkommen kann, der folgende Backslash \, maskiert den Punkt . , da dieser ein Metazeichen ist und als normales Zeichen behandelt werden soll.

Die Zeichenklasse [a-zA-Z], erlaubt alle Zeichen von A bis Z in Klein- und Großschreibung, der folgende Quantifier {2, }, die Anzahl der Zeichen, und legt somit fest, dass die Zeichen mindestens zwei Mal und beliebig oft vorkommen dürfen.

Mit dem folgenden Metazeichen Pipe | fügen wir diesem Unterausdruck eine ODER Funktion hinzu.

Die Erklärung zum Reguläre Ausdruck für die Interner Link zum RegEx Beispiel: IP Adresse prüfenIP-Adresse finden Sie im vorherigen Beispiel

Das Ende der Zeichenkette wird durch das Dollarzeichen $ gefolgt vom begrenzenden Delimiter = kennzeichnet.


Vorwahl prüfen


Mit diesem RegEx Beispiel kann die Übergabe einer Telefonvorwahl auf Plausibilität überprüft werden. Gemäß Empfehlung Wikipedia - E.123 der Internationalen FernmeldeunionE.123 der Internationalen Fernmeldeunion, wird der Vorwahl ein Pluszeichen und eine 49 vorangestellt und die 0 der Vorwahl entfällt.

Wir prüfen also ob die Ländervorwahl +49 oder 0049 verwandt wird und erlauben dann die Vorwahl in geklammerter und/oder ungeklammerter Schreibweise ohne vorangestellte 0, erfolgt die Eingabe ohne Ländervorwahl erlauben wir die Vorwahl in geklammerter und/oder ungeklammerter Schreibweise mit vorangestellter 0.

#^((((\+|[0]{2})\d{1,4} )(\(?([1-9]{1})([\d]{1,4}\)?)))|(\([1-9]{1}[\d]{1,4}\))|([0]{1}[\d]{1,5}))$#


<?php
$pattern	= '#^((((\+|[0]{2})\d{1,4} )(\(?([1-9]{1})([\d]{1,4}\)?)))|(\([1-9]{1}[\d]{1,4}\))|([0]{1}[\d]{1,5}))$#';
$subject	= '(38758)';
if (preg_match('#^((((\+|[0]{2})\d{1,4} )(\(?([1-9]{1})([\d]{1,4}\)?)))|(\([1-9]{1}[\d]{1,4}\))|([0]{1}[\d]{1,5}))$#' , $subject)){ echo "OK, $subject passt";
} else {
echo "Fehler, $subject passt nicht";
}
?>
Das Beispiel erzeugt folgende Ausgabe:
OK - ' (38758) ' passt



#^((((\+|[0]{2})\d{1,4} )(\(?([1-9]{1})([\d]{1,4}\)?)))|(\([1-9]{1}[\d]{1,4}\))|([0]{1}[\d]{1,5}))$#

Der obige Reguläre Ausdruck, wird am Anfang durch den Delimiter # begrenzt und der Beginn der Zeichenkette wird mit dem Zirkumflex ^ gekennzeichnet.

Mit den ersten drei Runden Klammern ((( definieren wir die notwendigen Zusammenfassungen zu jeweils einem Unterausdruck.

Der erste Unterausdruck beginnt mit einem Backslash \, der das folgende Pluszeichen + , maskiert da dies ein Metazeichen ist und als normales Zeichen behandelt werden soll. Mit dem folgenden Metazeichen Pipe | fügen wir diesem Unterausdruck eine ODER Funktion hinzu. Die Zeichenklasse [0] legt fest, dass nur die Ziffer 0 erlaubt ist und der Quantifier {2}, definiert die Anzahl der Zeichen, in diesem Fall muss dieses genau zwei Mal vorkommen. Nun schließen wir mit der Runden Klammer ) den erste Unterausdruck.

Wir befinden uns nun im zweiten Unterausdruck, mit der folgenden Zeichenklasse [\d] definieren wir alle Ziffern und mit dem Quantifier {1,4}, die Anzahl der Zeichen, und legen somit fest, dass die Ziffern mindestens einmal und maximal vier Mal vorkommen dürfen. Nun schließen wir mit der Runden Klammer ) den zweiten Unterausdruck.

Mit dieser Zusammenfassung haben wir einen Ausdruck erstellt, der die Eingabe von +49 oder 0049 akzeptiert.

Mit der Runden Klammer ( definieren wir eine neue Zusammenfassung zu einem Unterausdruck. Dieser beginnt mit einem Backslash \, der die folgende Runde Klammer ( , maskiert da dies ein Metazeichen ist und als normales Zeichen behandelt werden soll. Mit dem folgenden Metazeichen Fragezeichen ? definieren wir, dass Voranstehende Zeichen vorkommen kann, aber nicht vorkommen muss.

Mit der folgenden Runden Klammer ( definieren wir einen weiteren Unterausdruck, in dem mit der Zeichenklasse [1-9] die Ziffern 1 bis 9 und mit dem Quantifier {1}, die Anzahl der Zeichen, in diesem Fall muss dieses genau einmal vorkommen. Da die Ortkennzahl in diesem Ausdruck nicht mit 0 beginnen darf. Nun schließen wir mit der Runden Klammer ) den Unterausdruck.

Mit der folgenden Runden Klammer ( definieren einen weiteren Unterausdruck, in dem mit der Zeichenklasse [\d] alle Ziffern erlaubt werden und mit dem Quantifier {1,5}, die Anzahl der Zeichen, in diesem Fall muss dieses mindestens einmal und darf maximal fünf Mal vorkommen.

Der folgende Backslash \ maskiert, die darauf folgende Runde Klammer ( , da diese ein Metazeichen ist und als normales Zeichen behandelt werden soll. Mit dem folgenden Metazeichen Fragezeichen ? definieren wir, dass Voranstehende Zeichen vorkommen kann, aber nicht vorkommen muss. Nun schließen wir mit den 3 folgenden Runden Klammern ))) die Zusammenfassungen der Unterausdrücke.

Dieser beginnt mit einem Backslash \, der die folgende Runde Klammer ) , maskiert da dies ein Metazeichen ist und als normales Zeichen behandelt werden soll. Mit dem folgenden Metazeichen Fragezeichen ? definieren wir, dass Voranstehende Zeichen vorkommen kann, aber nicht vorkommen muss.

Mit dieser Zusammenfassung haben wir einen Ausdruck erstellt, der die Eingabe einer ein- bis fünfstelligen Ortskennzahl ohne vorangestellte 0 und optional innerhalb von Runden Klammern akzeptiert.

Mit dem folgenden Metazeichen Pipe | fügen wir diesem Unterausdruck eine ODER Funktion hinzu und definieren mit der Runden Klammer ( die Zusammenfassung zu einem Unterausdruck.

Dieser beginnt mit einem Backslash \, der die folgende Runde Klammer ( , maskiert da dies ein Metazeichen ist und als normales Zeichen behandelt werden soll.

Mit der Zeichenklasse [1-9] definieren wir die Ziffern 1 bis 9 und mit dem Quantifier {1}, die Anzahl der Zeichen, in diesem Fall muss dieses genau einmal vorkommen. Mit der Zeichenklasse [\d] definieren wir alle Ziffern und mit dem Quantifier {1,5}, die Anzahl der Zeichen, und legen somit fest, dass die Ziffern mindestens einmal und darf maximal fünf Mal vorkommen.

Der folgende Backslash \ maskiert, die darauf folgende Runde Klammer ( , da diese ein Metazeichen ist und als normales Zeichen behandelt werden soll. Mit der Runden Klammer ) schließen wir diese Zusammenfassung des Unterausdrucks.

Mit dem folgenden Metazeichen Pipe | fügen wir diesem Unterausdruck eine ODER Funktion hinzu und definieren mit der Runden Klammer ( die Zusammenfassung zu einem Unterausdruck.

Mit der Zeichenklasse [0] definieren wir die Ziffern 0 und mit dem Quantifier {1}, die Anzahl der Zeichen, in diesem Fall muss dieses genau einmal vorkommen. Mit der folgenden Zeichenklasse [\d] erlauben wir alle Ziffern und mit dem Quantifier {1,5}, die Anzahl der Zeichen, in diesem Fall muss dieses mindestens einmal und darf maximal fünf Mal vorkommen.

Mit den zwei Runden Klammern )) schließen wir die Zusammenfassungen der Unterausdrücke und kennzeichnen durch das Dollarzeichen $ das Ende der Zeichenkette, gefolgt vom begrenzenden Delimiter #.


Telefonvorwahl & Nummer prüfen


In diesem RegEx Beispiel wurden die beiden zuvor erläuterten Beispiele verknüpft, sodass die Übergabe einer kompletten Telefonnummer inklusiv Länderkennzahl und Ortsnetzkennzahl auf Plausibilität überprüft werden. Eine standardisierte Teilnehmerrufnummer hat mindestens 3 Ziffern und maximal 11 Ziffern. Die Länge von Rufnummern im internationalen Telefonverkehr ist auf höchstens 15 Ziffern, einschließlich Ländercode (49), ausschließlich Verkehrsausscheidungsziffern (0), einschließlich Telefonvorwahl (40) und der Teilnehmerrufnummer festgelegt.

Dieses Beispiel, anhand der Google Telefonnummer, erlaubt die folgenden Eingaben:

  • +49 (40) 80817-9000
  • +49 40 80817-9000
  • 0049 (40) 80817-9000
  • 0049 40 80817-9000
  • (40) 80817-9000
  • 040 80817-9000
#^((((\+|[0]{2})\d{1,4} )(\(?([1-9]{1})([\d]{1,4}\)?)))|(\([1-9]{1}[\d]{1,4}\))|([0]{1}[\d]{1,5}))( [2-9]{1}[\d-?]{2,10})$#


<?php
$pattern	= '#^((((\+|[0]{2})\d{1,4} )(\(?([1-9]{1})([\d]{1,4}\)?)))|(\([1-9]{1}[\d]{1,4}\))|([0]{1}[\d]{1,5}))( [2-9]{1}[\d-?]{2,10})$#';
$subject	= '0049 (40) 80817-9000';
if (preg_match('#^((((\+|[0]{2})\d{1,4} )(\(?([1-9]{1})([\d]{1,4}\)?)))|(\([1-9]{1}[\d]{1,4}\))|([0]{1}[\d]{1,5}))( [2-9]{1}[\d-?]{2,10})$#' , $subject)){ echo "OK, $subject passt";
} else {
echo "Fehler, $subject passt nicht";
}
?>
Das Beispiel erzeugt folgende Ausgabe:
OK - ' 0049 (40) 80817-9000 ' passt



Die Erklärung zum Reguläre Ausdruck für die Interner Link zum RegEx Beispiel: Telefonvorwahl prüfenVorwahl finden Sie im vorherigen Beispiel

Mit der Runden Klammer ( definieren wir den Beginn der Zusammenfassung zu einem Unterausdruck, das darauf folgende Leerzeichen, definiert, den Abstand zum vorherigen Unterausdruck.

Mit der Zeichenklasse [2-9] definieren wir die Ziffern 2 bis 9 und mit dem Quantifier {1}, die Anzahl der Zeichen, in diesem Fall muss dieses genau einmal vorkommen. Da eine Telefonnummer nicht mit 0 oder 1 beginnen darf.

Mit der folgenden Zeichenklasse [\d] definieren wir alle Ziffern, der Bindestrich - , gefolgt vom Metazeichen Fragezeichen ? definiert, dass das Voranstehende Zeichen vorkommen kann, aber nicht vorkommen muss. Mit dem Quantifier {2,10}, die Anzahl der Zeichen, und legen somit fest, dass die letzten Ziffern mindestens zwei Mal und maximal zehn Mal vorkommen dürfen.

Mit der Runden Klammer ) schließen wir den Unterausdruck und kennzeichnen durch das Dollarzeichen $ das Ende der Zeichenkette, gefolgt vom begrenzenden Delimiter #.


Mobilfunk-Vorwahl prüfen


Mit diesem RegEx Beispiel kann die Übergabe einer Mobilfunk-Vorwahl (Bundesnetzagentur - Übersicht NummernraumBundesnetzagentur) auf Plausibilität überprüft werden.

Dieses Beispiel erlaubt die folgenden Eingaben:

Mobil-Vorwahlen - Übersicht Nummernraum - Stand: 23.08.2010
0150, 0150501600170
0151, 01511, 01512, 01514, 0151501610171
0152, 01520, 01522, 0152501620172
 01630173
 01640174
0155 0175
  0176
0157, 01570, 01573, 01575, 01577, 01578 0177
  0178
0159 0179
#^([0]{1}[1]{1}([5]{1}([0]{1}[5]?|[1]{1}[1245]?|[2]{1}[025]?|[7]{1}[03578]?|[59]{1})|[6]{1}[01234]{1}|[7]{1}[\d]{1}))$#


<?php
$pattern	= '#^([0]{1}[1]{1}([5]{1}([0]{1}[5]?|[1]{1}[1245]?|[2]{1}[025]?|[7]{1}[03578]?|[59]{1})|[6]{1}[01234]{1}|[7]{1}[\d]{1}))$#';
$subject	= '0155';
if (preg_match('#^([0]{1}[1]{1}([5]{1}([0]{1}[5]?|[1]{1}[1245]?|[2]{1}[025]?|[7]{1}[03578]?|[59]{1})|[6]{1}[01234]{1}|[7]{1}[\d]{1}))$#' , $subject)){ echo "OK, $subject passt";
} else {
echo "Fehler, $subject passt nicht";
}
?>
Das Beispiel erzeugt folgende Ausgabe:
OK - ' 0155 ' passt



#^([0]{1}[1]{1}([5]{1}([0]{1}[5]?|[1]{1}[1245]?|[2]{1}[025]?|[7]{1}[03578]?|[59]{1})|[6]{1}[01234]{1}|[7]{1}[\d]{1}))$#


Namen prüfen


Mit diesem RegEx Beispiel kann die Übergabe eines Namen auf Plausibilität überprüft werden.

if (preg_match(#^[\D]+$# , $subject)) 


<?php
$pattern	= '#^[\D]+$#';
$subject	= 'Hlne Carrre d'Encausse';
if (preg_match('#^[\D]+$#' , $subject)){ echo "OK, $subject passt";
} else {
echo "Fehler, $subject passt nicht";
}
?>
Das Beispiel erzeugt folgende Ausgabe:
OK - ' Hlne Carrre d'Encausse ' passt



Der obige Reguläre Ausdruck, wird am Anfang durch den Delimiter # begrenzt und der Beginn der Zeichenkette wird mit dem Zirkumflex ^ gekennzeichnet.

Mit der Zeichenklasse [\D] verbieten wir alle Ziffern.

Das Ende der Zeichenkette wird durch das Dollarzeichen $ gefolgt vom begrenzenden Delimiter # kennzeichnet.


Wörter hervorheben


Mit diesem RegEx Beispiel können Wörter innerhalb eines Textes hervorhoben werden.

preg_replace('~\b(Regex)~i' , '<em>\1</em>' , $subject) 


<?php
$pattern	= '~\b(Regex)~i';
$replacement	= '<em>\1</em>';
$subject	= 'Regulre Ausdrcke werden auch auch Regex oder RegExp genannt.';
echo preg_replace('~\b(Regex)~i' , '<em>\1</em>' , $subject);
?>
Das Beispiel erzeugt folgende Ausgabe:
Regulre Ausdrcke werden auch auch <em>Regex</em> oder <em>RegEx</em>p genannt.



Der Reguläre Ausdruck wird am Anfang durch den Delimiter Tilde ~ begrenzt. Mit der Zeichenklasse \b definieren wir eine Wortgrenze, also die Position zwischen einem Wort und einem Nicht-Wort.

Mit den Runden Klammern ( ) definieren wir die Zusammenfassung zu einem Unterausdruck. In unserem Fall ist Regex, der gesuchte Unterausdruck.

Das Ende des Regulären Ausdruck wird vom begrenzenden Delimiter ~ gekennzeichnet. Der folgende Modifier i deaktiviert die Unterscheidung zwischen Groß- und Kleinschreibung.

Der bisher verwendete Zirkumflex ^, welcher den Beginn der Zeichenkette kennzeichnet, kann in diesem Beispiel nicht verwandt werden, weil wir den gesuchten Ausdruck auch innerhalb eines Wortes finden wollen. Ebenso verhlt es sich mit dem Dollarzeichen $, dass das Ende der Zeichenkette definiert.


Weitere Beispiele


mehrfach vorkommende Wörter löschen


Mit diesem RegEx Beispiel können mehrfach vorkommende Wörter innerhalb eines Textes entfernt werden.

preg_replace('#\b(\w+)(?:\s+\1\b)+#' , '\1' , $subject) 


<?php
$pattern	= '#\b(\w+)(?:\s+\1\b)+#';
$replacement	= '\1';
$subject	= 'der der der die die die die das und dass dass';
echo preg_replace('#\b(\w+)(?:\s+\1\b)+#' , '\1' , $subject);
?>
Das Beispiel erzeugt folgende Ausgabe:
der die das und dass

Wörter am Ende eines Textes finden


Mit diesem RegEx Beispiel können Wörter am Ende eines Textes emittelt werden.

if (preg_match(!\b(Wort)$! , $subject)) 


<?php
$pattern	= '!\b(Wort)$!';
$subject	= 'Wir Suchen ein Wort';
if (preg_match('!\b(Wort)$!' , $subject)){ echo "OK, $subject passt";
} else {
echo "Fehler, $subject passt nicht";
}
?>
Das Beispiel erzeugt folgende Ausgabe:
OK - ' Wir Suchen ein Wort ' passt

Wörter am Anfang eines Textes finden


Mit diesem RegEx Beispiel können Wörter am Anfang eines Textes emittelt werden.

if (preg_match(!^(Wort)\b! , $subject)) 


<?php
$pattern	= '!^(Wort)\b!';
$subject	= 'Wort am Anfang des Textes suchen';
if (preg_match('!^(Wort)\b!' , $subject)){ echo "OK, $subject passt";
} else {
echo "Fehler, $subject passt nicht";
}
?>
Das Beispiel erzeugt folgende Ausgabe:
OK - ' Wort am Anfang des Textes suchen ' passt

Wörter innerhalb eines Textes finden


Mit diesem RegEx Beispiel können Wörter innerhalb eines Textes emittelt werden, denen ein Leerzeichen voran steht.

if (preg_match(!\s*(Wort)\b! , $subject)) 


<?php
$pattern	= '!\s*(Wort)\b!';
$subject	= 'Wenn vor dem gesuchten Wort ein Leerzeichen steht';
if (preg_match('!\s*(Wort)\b!' , $subject)){ echo "OK, $subject passt";
} else {
echo "Fehler, $subject passt nicht";
}
?>
Das Beispiel erzeugt folgende Ausgabe:
OK - ' Wenn vor dem gesuchten Wort ein Leerzeichen steht ' passt

Mehrere Wörter innerhalb eines Textes finden


Mit diesem RegEx Beispiel können mehrere Wörter innerhalb eines Textes emittelt werden.

preg_match_all('!\b(?:ersten?s?|zweiten?s?|dritten?s?)\b!' , $subject, $matches, PREG_SET_ORDER) 


<?php
$pattern	= '!\b(?:ersten?s?|zweiten?s?|dritten?s?)\b!';
$subject	= 'Das gesuchte ein zweite Wort steht vor dem ersten Wort dem noch ein drittes Wort folgt';
preg_match_all('!\b(?:ersten?s?|zweiten?s?|dritten?s?)\b!' , $subject, $matches, PREG_SET_ORDER); print_r $matches;
?>
Das Beispiel erzeugt folgende Ausgabe:
Array
(
[0] => Array
(
[0] => zweite
)
[1] => Array
(
[0] => ersten
)
[2] => Array
(
[0] => drittes
)
)

<?php
$pattern	= '!\b(?:ersten?s?|zweiten?s?|dritten?s?)\b!';
$subject	= 'Das gesuchte ein zweite Wort steht vor dem ersten Wort dem noch ein drittes Wort folgt';
$erg_preg_match_all = preg_match_all('!\b(?:ersten?s?|zweiten?s?|dritten?s?)\b!' , $subject, $matches ); for($i=0; $i<$erg_preg_match_all; $i++)
{
print $matches[0][$i] .'<br />';
}
?>
Das Beispiel erzeugt folgende Ausgabe:
zweite
ersten
drittes

mehrfach vorkommende Punkte (Zeichen) entfernen


Mit diesem RegEx Beispiel können sich wiederholende Zeichen, in diesem Fall Punkte, innerhalb eines Textes entfernt werden.

preg_replace('#\.+#i' , '.' , $subject) 


<?php
$pattern	= '#\.+#i';
$replacement	= '.';
$subject	= '1..... 2..... 3.....';
echo preg_replace('#\.+#i' , '.' , $subject);
?>
Das Beispiel erzeugt folgende Ausgabe:
1. 2. 3.

Domain aus einer URL extrahieren


Mit diesem RegEx Beispiel kann die Domain aus einer URL extrahiert werden.

preg_match_all('#\b(?:http://)?([^/]+)\b#i' , $subject, $matches, PREG_SET_ORDER) 


<?php
$pattern	= '#\b(?:http://)?([^/]+)\b#i';
$subject	= 'Die Domain aus http://example.com/index.php extrahieren';
preg_match_all('#\b(?:http://)?([^/]+)\b#i' , $subject, $matches, PREG_SET_ORDER); print_r $matches;
?>
Das Beispiel erzeugt folgende Ausgabe:
Array
(
[0] => Array
(
[0] => Die Domain aus http
[1] => Die Domain aus http
)
[1] => Array
(
[0] => example.com
[1] => example.com
)
[2] => Array
(
[0] => index.php extrahieren
[1] => index.php extrahieren
)
)

<?php
$pattern	= '#\b(?:http://)?([^/]+)\b#i';
$subject	= 'Die Domain aus http://example.com/index.php extrahieren';
$erg_preg_match_all = preg_match_all('#\b(?:http://)?([^/]+)\b#i' , $subject, $matches ); for($i=0; $i<$erg_preg_match_all; $i++)
{
print $matches[0][$i] .'<br />';
}
?>
Das Beispiel erzeugt folgende Ausgabe:
Die Domain aus http
example.com
index.php extrahieren

Datum prüfen


Mit diesem RegEx Beispiel kann ein Datum überprüft werden.

if (preg_match(!([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})! , $subject)) 


<?php
$pattern	= '!([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})!';
$subject	= '2016-12-09';
if (preg_match('!([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})!' , $subject)){ echo "OK, $subject passt";
} else {
echo "Fehler, $subject passt nicht";
}
?>
Das Beispiel erzeugt folgende Ausgabe:
OK - ' 2016-12-09 ' passt

Linkempfehlungen

Verweise & Links

Reguläre Ausdrücke


» zum Seitenanfang

Tipps & Tricks

mehr zum Thema: nächster und vorheriger EintragMySQL nächsten und vorherigen Datensatz

Den alphabetisch nächsten und vorherigen Datensatzes aus einer Datenbank ermitteln und in alphatischer Reihenfolge den nächsten und vorherigen Datensatz ausgeben.

» mehr zum Thema: nächster und vorheriger Eintragmehr lesen

mehr zum Thema: Teil eines Datensatzes suchen und ersetzenMySQL Teilstring suchen und ersetzen

In einer Datenbanktabelle einen bestimmten Teil eines Strings suchen und diesen dann auszutauschen.

» mehr zum Thema: Teil eines Datensatzes suchen und ersetzenmehr lesen

mehr zum Thema: Browser & IP-Adresse indentifizierenPHP Browser identifizieren

Beim Aufruf einer Website sendet jeder Browser eine Kennung, die dem Server angibt, um welchen "User-Agent" es sich handelt.

» mehr zum Thema: Browser & IP-Adresse indentifizierenmehr lesen

mehr zum Thema: Datum und UhrzeitfunktionPHP Datum und Zeit

Für zeitgesteuerte Inhalte sind Datum- und Uhrzeitfunktionen unerlässlich. Grundlage bildet der von Unix-Systemen verwendete Timestamp.

» mehr zum Thema: Datum und Uhrzeitfunktionmehr lesen

mehr zum Thema: Anzahl Zeichen im String ermittelnPHP Zeichen & Wörter zählen

Häufig genügt es zu wissen, wie viele Zeichen der Text beinhaltet, php kann jedoch weitaus mehr.

» mehr zum Thema: Anzahl Zeichen im String ermittelnmehr lesen

mehr zum Thema: Zeichen & Zeichenfolgen ersetzenPHP Zeichen ersetzen

Häufig ist es notwendig mehrere Zeichen oder Zeichenfolgen innerhalb eines Strings zu ersetzen.

» mehr zum Thema: Zeichen & Zeichenfolgen ersetzenmehr lesen

mehr zum Thema: HTML-Entity - Maskierungen für SonderzeichenPHP HTML-Entities

Standardkonformer HTML-Code erfordert eine korrekte Ausgabe sämtlicher Literalen, dazu gehören auch und vor allem soggenannte HTML-Entity.

» mehr zum Thema: HTML-Entity - Maskierungen für Sonderzeichenmehr lesen

mehr zum Thema: Farbwerte von RGB nach HEX bzw. HEX nach RGBPHP RGB/HEX-Umrechner

Um die Farben einzelner Elemente auf Webseiten festzulegen, gibt es zwei Möglichkeiten. Die Farben können als RGB-Werte im Hexadezimalformat oder ...

» mehr zum Thema: Farbwerte von RGB nach HEX bzw. HEX nach RGBmehr lesen

mehr zum Thema: Perl Compatible Regular ExpressionsPHP PCRE-Funktionen

Die PHP PCREInformationBedeutung: PCREPerl Compatible Regular Expressions Funktionen sind eine Programmbibliothek zur Auswertung von Regulren Ausdrcken ...

» mehr zum Thema: Perl Compatible Regular Expressionsmehr lesen

mehr zum Thema: Regular Expressions / RegExpPHP Regulre Ausdrcke

Regulre Ausdrcke, auch Regex oder RegExp genannt, sind Zeichen- ketten, die ...

» mehr zum Thema: Regular Expressions / RegExpmehr lesen

mehr zum Thema: Regular Expressions / RegExpRegEx Beispiele

Praxisbzogene Regular Expression Beispiele für die Anwendung in PHP.

» mehr zum Thema: Regular Expressions / RegExpmehr lesen


Tastaturkürzel