This page has been robot translated, sorry for typos if any. Original content here.

PHP Regular Expressions Spickzettel

Nach Thema:


^ - Beginn der Zeile
$ - Ende der Zeile

. - Jedes Zeichen außer Zeilenumbrüchen (ohne den Parameter /.../s)
[...] - Jeder der aufgelisteten Zeichen. Innerhalb der eckigen Klammern funktionieren andere Operatoren nicht, aber Metazeichen können verwendet werden. Mit dem Bindestrich können Sie Zeichensätze angeben: von der ersten bis zur letzten. Zum Beispiel bedeutet [af] irgendeinen Buchstaben von a, b, c, d, e, f.
[^ ...] - Keine der aufgelisteten Zeichen. Innerhalb der eckigen Klammern funktionieren andere Operatoren nicht, aber Metazeichen können verwendet werden. Mit dem Bindestrich können Sie Zeichensätze angeben: von der ersten bis zur letzten. Zum Beispiel bedeutet [^ 0-9] beliebige Zeichen außer 0, 1, 2, 3, 4, 5, 6, 7, 8, 9.
\ # - Das Zeichen # nach dem Schrägstrich (außer az und 0-9). Zum Beispiel bedeutet \\ das Symbol \, \. bedeutet Charakter. (Punkt), \ $ bedeutet $ Charakter usw.

\ b - der Anfang des Wortes
\ B - Ende des Wortes
[[: alnum:]] - alphanumerische Zeichen
[[: digit:]] - dezimale numerische Zeichen

[[: xdigit:]] - hexadezimale numerische Zeichen
[[alpha:]] - alphabetische Zeichen
[[: upper:]] - Großbuchstaben
[[: lower:]] - Kleinbuchstaben

[[: punct:]] - Interpunktionszeichen
[[: space:]] - Leerzeichen
[[: blanc:]] - Tab- und Leerzeichen
[[: print:]] - druckbare Zeichen

[[: cntrl:]] - Kontrollzeichen
[[: graph:]] - druckbare Zeichen, ausgenommen Leerzeichen
\ xNN - NN - hexadezimaler ASCII-Zeichencode (\ x20 - Leerzeichen, \ x4A - J, \ x6A - j usw.)

\ t - Tabulatorzeichen
\ n - neue Zeile
\ r - Wagentransfer
\ a - Formatübersetzung

\ v - vertikale Registerkarte
\ a - Anruf
\ e - Flucht
\ 033 - Oktalzeichen

\ x1A ist hexadezimal
\ c - Steuerzeichen
\ l - Kleinschreibung des nächsten Zeichens
\ u - Großbuchstabe - // -

\ L - alle Kleinbuchstaben zu \ E
\ U - oben - // -
\ E - Registerbegrenzer
\ Q - Aktion als Metazeichen rückgängig machen

\ w - alphanumerisch oder '_' Zeichen
\ W - nicht - // -
\ s - ein Leerzeichen

\ S - man ist kein Raum
\ d - eine Ziffer
\ D - eine Ziffer

\ b - Wortgrenze
\ B ist keine Wortgrenze
\ A - der Anfang der Zeile für jede Zeile in einer mehrzeiligen Zeile
\ Z - Ende der Zeile für jede Zeile in einer mehrzeiligen Zeile.

\ G - das Ende der Aktion m // g

(...) - Gruppiere Charaktere in einem Muster und erinnere dich daran
| - Vorheriges oder nächstes Muster (logisches "ODER")

* - Null oder mehrmals
+ - Ein oder mehrere Male
? - 0 oder 1 Mal vorherige Maske
{n} - n mal wiederholen

{n,} - Wiederholen Sie n oder mehrmals
{n, m} - Wiederhole n- bis m-mal
? #N - Dies ist ein "Rückblick" -Operator. N ist die Anzahl der anzuzeigenden Zeichen.

? ~ N - Ablehnung der Betrachtung nach hinten.
? = - Vorausschauend.
?! - Ablehnung der Vorausschau.

Ich - unterscheide nicht zwischen Groß- und Kleinbuchstaben.
m - zählt eine mehrzeilige Zeichenfolge.
s ist eine einzeilige Zeichenfolge.
x - erweiterte Syntax (Verwendung von Leerzeichen und Kommentaren)

e - nach dem Ausführen von Standard-Substitutionen in der ersetzten Zeichenfolge, interpretiert es als PHP-Code und verwendet das Ergebnis, um die Suchzeichenfolge zu ersetzen.
Ein Mustervergleich wird nur erreicht, wenn es mit dem Anfang der Zeile übereinstimmt, in der die Suche ausgeführt wird.
D - Das $ Metazeichen im Muster entspricht nur dem Ende der verarbeiteten Daten. Ohne diesen Modifikator entspricht das $ Metazeichen auch der Position vor dem letzten Zeichen, falls es sich um einen Zeilenumbruch handelt (gilt aber nicht für andere Zeilenumbrüche). Dieser Modifikator wird ignoriert, wenn der Modifikator m verwendet wird. In Perl gibt es keinen ähnlichen Modifikator.
S - Wenn dieser Modifikator verwendet wird, wird eine zusätzliche Analyse des Templates durchgeführt. In der Gegenwart ist dies nur für feste Muster sinnvoll, die keine variablen Referenzen enthalten.

U - Modifier invertiert die Gier von Quantifizierern, daher sind sie standardmäßig nicht gierig. Aber sie werden gierig, wenn ihnen ein "?" Folgt. Diese Funktion ist nicht mit Perl kompatibel. Der U-Modifikator kann auch innerhalb eines Musters verwendet werden, indem der "? U" -Datensatz verwendet wird.
X - enthält zusätzliche PCRE-Funktionalität, die nicht mit Perl kompatibel ist: Jeder umgekehrte Schrägstrich in einem Muster, gefolgt von einem Symbol, das keine besondere Bedeutung hat, führt zu einem Fehler. Dies liegt daran, dass solche Kombinationen für die weitere Entwicklung vorbehalten sind. Standardmäßig wird genau wie in Perl ein Schrägstrich mit dem folgenden Zeichen ohne besondere Bedeutung wie ein Tippfehler behandelt. Heute sind dies alles Merkmale, die von diesem Modifikator gesteuert werden.
u - enthält zusätzliche PCRE-Funktionalität, die nicht mit Perl kompatibel ist: Vorlagen werden als UTF8-Zeichenfolgen behandelt. Der u-Modifizierer ist in PHP 4.1.0 und höher für Unix-Plattformen und in PHP 4.2.3 und höher für Windows-Plattformen verfügbar.

(? # Kommentar) - ein Kommentar im Hauptteil der Vorlage.
(?: template) - group sowie '()', aber ohne return link
(? = Vorlage) - "guckt" voraus. Zum Beispiel stimmt / \ w + (? = \ T) / mit dem Wort überein, auf das die Tabellierung folgt, aber das Zeichen '\ t' ist nicht im Ergebnis enthalten.

\ NUMBER - Referenz innerhalb der Regexp zu einer eigenen zerlegten Klammer, wobei NUMBER die Nummer der gewünschten Gruppe (Klammer) ist. Dieser Operator arbeitet mit einigen Einschränkungen für den Typ des referenzierten Blocks - er funktioniert nur, wenn in der referenzierten Klammer keine Wiederholungsaussagen vorhanden sind.