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

Krippe auf regulären Ausdrücken PHP

Nach Thema:


^ - Beginn der Zeile
$ - Ende der Zeile

. - Beliebiges Zeichen außer Zeilenumsetzungen (ohne den Parameter /.../s)
[...] - Jeder der oben genannten Zeichensatz. Innerhalb der eckigen Klammern funktionieren andere Operatoren nicht, aber Sie können Metazeichen verwenden. Mit einem 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 oben genannten Zeichen. Innerhalb der eckigen Klammern funktionieren andere Operatoren nicht, aber Sie können Metazeichen verwenden. Mit einem Bindestrich können Sie Zeichensätze angeben: von der ersten bis zur letzten. Zum Beispiel bedeutet [^ 0-9] ein anderes Zeichen als 0, 1, 2, 3, 4, 5, 6, 7, 8, 9.
\ # - Das nächste Zeichen im Schrägstrich ist # (außer az und 0-9). Zum Beispiel steht \\ für \, \. bedeutet ein Symbol. (Punkt), \ $ bedeutet das Symbol $, und so weiter.

\ b - 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:]] - Interpunktion
[[: space:]] - Leerzeichen
[[: blanc:]] - Tab- und Leerzeichen
[[: print:]] - gedruckte Zeichen

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

\ t - Tabulatorzeichen
\ n - neue Zeile
\ r - Wagenrücklauf
\ a - Übersetzung des Formats

\ v - vertikale Tabellierung
\ a - Anruf
\ e - Flucht
\ 033 - die Oktalaufnahme des Charakters

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

\ L - alle Zeichen in Kleinbuchstaben vor \ E
\ U - im oberen - // -
\ E - der Begrenzer des Wechsel des Registers
\ Q - storniere die Aktion als Metazeichen

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

\ S - man ist kein Raum
\ d - eine Nummer
\ D - Eins ist keine Ziffer

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

\ G ist das Ende der Aktion m // g

(...) - Gruppiere Charaktere in ein 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} - Wiederhole n mal

{n,} - Wiederholen Sie n oder mehrmals
{n, m} - Wiederhole von n nach m mal
? #N - Dies ist der "Rückwärts" -Operator. N ist die Anzahl der anzuzeigenden Zeichen.

? ~ N - Negative Betrachtung zurück.
? = - Vorschau vorwärts.
?! - Negieren der Sicht nach vorne.

Ich - unterscheide nicht zwischen Groß- und Kleinbuchstaben.
m - Betrachte einen mehrzeiligen String.
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.
A - Die Mustererkennung wird nur erreicht, wenn sie dem Anfang der Zeile entspricht, in der die Suche durchgeführt wird.
D - Metasymbol $ in der Vorlage entspricht nur dem Ende der zu verarbeitenden Daten. Ohne diesen Modifizierer entspricht das Metazeichen $ auch der Position vor dem letzten Zeichen, wenn es sich um einen Zeilenvorschub handelt (gilt jedoch nicht für andere Zeilenvorschübe). 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 Templatanalyse durchgeführt. In der Gegenwart ist dies nur für feste Vorlagen sinnvoll, die keine Referenzvariablen enthalten.

Der U- Modifier invertiert die Gier der Quantifier, so dass sie standardmäßig nicht gierig sind. Aber werde gierig, wenn das Symbol "?" Folgt. Diese Möglichkeit ist nicht mit Perl kompatibel. Der U-Modifikator kann auch innerhalb der Vorlage verwendet werden, indem der Eintrag "? U" verwendet wird.
X enthält zusätzliche PCRE-Funktionalität, die nicht mit Perl kompatibel ist: Jeder umgekehrte Schrägstrich in der Vorlage, gefolgt von einem Zeichen, das keinen speziellen Wert hat, führt zu einem Fehler. Dies liegt daran, dass solche Kombinationen für die weitere Entwicklung vorbehalten sind. Standardmäßig wird wie bei Perl der Schrägstrich mit dem nächsten Zeichen gefolgt von einem speziellen Wert als Tippfehler behandelt. Bis heute sind dies alle Funktionen, 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) ist ein Kommentar im Textkörper der Vorlage.
(?: pattern) - Gruppierung wie '()', aber ohne Backlink
(? = Vorlage) - "spähen" vorwärts. Beispielsweise entspricht \ w + (? = \ T) / dem Wort, dem ein Tab folgt, aber das Zeichen \ \ ist nicht im Ergebnis enthalten.

\ NUMBER - Ein Verweis innerhalb der Regex auf seine eigene analysierte Klammer, wobei NUMBER die Nummer der gewünschten Gruppe (Klammern) ist. Dieser Operator arbeitet mit gewissen Einschränkungen für den Typ des referenzierten Blocks - er funktioniert nur, wenn sich in der referenzierten Klammer keine Wiederholoperatoren befinden.