Heim > Artikel > Backend-Entwicklung > Reguläre PHP-Ausdrücke
Regulärer Ausdruck kann als Mustervergleichsalgorithmus definiert werden, der in einer einzelnen Zeile generiert wird. Diese sind bei der Validierungsprüfung und bei der Vorlagenerkennung von Bedeutung. Die Metazeichen ermöglichen dem Benutzer den Umgang mit komplexen Mustern. Somit trägt die Unterstützung in PHP für reguläre Ausdrücke dazu bei, die Codequalität einer PHP-Programmierung zu verbessern. Jeder reguläre Ausdruck ist ein generisches Muster oder eine Folge einer Reihe von Zeichen, die zur Bereitstellung von Mustervergleichsfunktionen für eine bestimmte Betreffzeichenfolge verwendet werden. Es ist auch als RegExp oder RegEx bekannt. Es wird auch als eine auf Musternotation basierende kleine Programmiersprache betrachtet, die zum Parsen von Textzeichenfolgen verwendet wird.
WERBUNG Beliebter Kurs in dieser Kategorie PHP-ENTWICKLER - Spezialisierung | 8-Kurs-Reihe | 3 ProbetestsStarten Sie Ihren kostenlosen Softwareentwicklungskurs
Webentwicklung, Programmiersprachen, Softwaretests und andere
Das Folgende unterstützt zwei Sätze regulärer Ausdrücke:
Dies ist ein Zeichensatz, bei dem jedes einzelne Zeichen mit der Eingabezeichenfolge übereinstimmen muss. Diese Ausdrücke werden innerhalb von [].
definiertBeispiel:
Um den Filter spezifischer zu gestalten, wurde eine Standardsyntax entwickelt, die Regex und Sonderzeichen umfasst, die als Quantifizierer bekannt sind. Es liefert auch Informationen zur Häufigkeit, d. h. zur Häufigkeit des Vorkommens oder Vorkommens von eingeklammerten Zeichen oder einer Gruppe von Zeichen und der Menge.
Tabelle mit Beschreibungen für verschiedene Quantoren:
Quantifier | Description |
S+ | Filters out a string having at least one ‘s’. |
S* | Filters out a string having zero or more ‘s’. |
S? | Filters out a string having zero or one ‘s’. |
S{N} | Filters out a string having a sequence of N ‘s’. |
S$ | Filters out a string having ‘s’ at the end. |
^S | Filters out a string having ‘s’ at the beginning. |
predefined character class | Description |
[[:space:]] | Filters out a string having a space. |
[[:alpha:]] | Filters out a string having alphabetic characters a-A through z-Z. |
[[:digit:]] | Filters out a string having numerical 0 to 9. |
[[:alnum:]] | Filters out a string having alphanumeric characters a-A through z-Z and numerical 0 to 9. |
Für den POSIX-Regex integriert PHP verschiedene Funktionen, um verschiedene Vorgänge mithilfe von Regexes im POSIX-Stil auszuführen.
Die Funktionen werden wie in der folgenden Tabelle beschrieben:
POSIX Regex function | Description |
ereg() | Used to search a string specified by or by pattern and to return true if the matching is found. |
ereg_replace() | Used to search a string specified by or by pattern and replace with replacement if the matching is found. |
eregi() | Used to perform non-case sensitive search for a string specified by or by pattern and to return true if the matching is found. |
eregi_replace() | Used to perform non-case sensitive for a string specified by or by pattern and replace with replacement if the matching is found. |
split() | Used to divide the string into separate elements based on boundaries that matches the searching pattern. |
spliti() | Used to perform non-case sensitive for the string to divide it into separate elements based on boundaries that matches the searching pattern. |
sql_regcase() | A utility function that convert each character from the input value into a bracketed expression making two characters. |
Diese Art von Regex-Mustern ähnelt POSIX-Regex, wird jedoch mit Metazeichen und Bezeichnern erstellt. Die Syntax für diese Regexes ist mit dem POSIX-Stil austauschbar.
a. Metazeichen: Ein Alphabetzeichen, dem ein Backslash vorangestellt ist, der eine bestimmte Bedeutung darstellt, wird als Metazeichen bezeichnet.
Es gibt verschiedene Metazeichen, die in PHP-Skripten unterstützt werden und als Perl-Typ-Regex verwendet werden, wie unten beschrieben:
Meta character | Description |
. | Single character |
d | A digit character |
D | Non-digit character |
s | white space character e.g. SPACE, NEW LINE, TAB |
S | Non- white space character |
w | A word character |
W | Non-word character |
[aeiou] | Filters the matched character out of the given set |
[^aeiou] | Filters the unmatched character out of the given set |
(set1|set2|set3) | Filters the matched element that matches to any of the given alternatives |
b. Modifikatoren:
Diese Elemente ermöglichen dem Benutzer zusätzliche Flexibilität bei der Arbeit mit regulären Ausdrücken.Modifier | Description |
g | Finds matchings globally. |
cg | Enable continue global search even after matching fails. |
i | Instructs to perform case insensitive search. |
s | Use the character ‘.’ to search for new line character. |
m | In case of input string containing new line or carriage return character, ‘^’ and ‘$’ are used to match for new line boundary. |
x | Permits to use white space to improve the clarity of the expression. |
o | Restrict the evaluation of the expression to occur only once. |
Ähnlich wie die POSIX-Regex-Funktion bietet PHP auch einige spezifische Funktionen, die mit Regex im PERL-Stil kompatibel sind.
Einige der Hauptfunktionen werden im Folgenden erläutert:
PERL style regexpcompitable function | Description |
preg_match() | Return the first occurrence of the matching pattern. |
preg_match_all() | Return all occurrences of the matching pattern. |
preg_split() | Splits the string input into several elements based on the given regexp pattern as input. |
Preg_quote() | Used to quote the characters of the regex. |
preg_grep() | Used to find all the matching elements from array input. |
preg_replace() | Used to find matching element and replace it with the given replacement. |
Das folgende Beispiel demonstriert die Anwendung
Das Code-Snippet dient dazu, die Eingabezeichenfolge zu durchsuchen und die gegebene Eingabe in mehrere Elemente aufzuteilen, indem der gegebene Regex als Grenze definiert wird.
Code:
<?php // Declaring a regex $regex = "([0-9]+)"; // Defining the input string $inputstr = "String_a 1 String_b 2 String_c 3"; //Splitting the input string based on matching regex expression $result = preg_split ($regex, $inputstr); // Displaying result echo $result[0]; echo "\n"; echo $result[1]; echo "\n"; echo $result[2]; echo "\n"; ?>
Ausgabe
Die Funktion preg_split() hat die Eingabezeichenfolge in drei Teile aufgeteilt, da die Elemente „1“, „2“ und „3“ als Grenzen markiert sind.
Das obige ist der detaillierte Inhalt vonReguläre PHP-Ausdrücke. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!