Die Funktion preg_match() ist eine integrierte Funktion von PHP, die einen regulären Ausdrucksabgleich durchführt. Diese Funktion durchsucht die Zeichenfolge nach einem Muster und gibt „true“ zurück, wenn das Muster vorhanden ist, andernfalls wird „false“ zurückgegeben.
Im Allgemeinen beginnt die Suche am Anfang des Zeichenfolgenparameters $subject. Der optionale Parameter $offset wird verwendet, um die Suche ab der angegebenen Position zu starten.
Syntax
int preg_match (string $pattern, string $subject, array $matches, int $flags, int $offset)
Hinweis: $offset ist ein optionaler Parameter, der die Position angibt, an der die Suche beginnen soll.
Parameter
Diese Funktion akzeptiert fünf Parameter, die im Folgenden beschrieben werden:
Muster
Es handelt sich um einen Parameter vom Typ String. Dieser Parameter enthält das zu suchende Muster als Zeichenfolge.
Thema
Dieser Parameter enthält die Eingabezeichenfolge, in der wir nach Muster suchen.
Streichhölzer
Wenn der Parameter „matches“ angegeben wird, enthält er die Suchergebnisse.
Übereinstimmungen[0] - Es wird der Text gespeichert, der mit dem vollständigen Muster übereinstimmt.
Übereinstimmungen[1] - Es enthält den Text, der mit dem ersten erfassten Teilmuster in Klammern übereinstimmt, und so weiter.
Flaggen
Versandhandel-Traversal-Binärbaum
Die Flags können die folgenden Flags haben:
versetzt
Standardmäßig beginnt die Suche am Anfang des Parameters $subject. Der Offset-Parameter wird verwendet, um den Ort anzugeben, an dem die Suche beginnen soll. Es handelt sich um einen optionalen Parameter.
Rückgabetyp
Die Funktion preg_match() gibt true zurück, wenn das Muster übereinstimmt, andernfalls gibt sie false zurück.
Hinweis: Wenn Sie nur prüfen möchten, ob eine Zeichenfolge in einer anderen Zeichenfolge enthalten ist, verwenden Sie nicht die Funktion preg_match(). Verwenden Sie die Funktion strpos(), da diese schneller ist.
Beispiele
<?php //initialize a variable of string type $site = 'javatpoint'; preg_match('/(java)(t)(point)/', $site, $matches, PREG_OFFSET_CAPTURE); //display the matches result print_r($matches); ?>
Ausgabe:
Array ( [0] => Array ( [0] => javatpoint [1] => 0 ) [1] => Array ( [0] => java [1] => 0 ) [2] => Array ( [0] => t [1] => 4 ) [3] => Array ( [0] => point [1] => 5 ) )
Wir können die obige Ausgabe wie folgt sehen, um sie besser zu verstehen.
Array ( [0] => Array ( [0] => javatpoint [1] => 0 ) [1] => Array ( [0] => java [1] => 0 ) [2] => Array ( [0] => t [1] => 4 ) [3] => Array ( [0] => point [1] => 5 ) )
Beispiele: Suche ohne Berücksichtigung der Groß-/Kleinschreibung
<?php //initialize a variable of string type $website = 'JTP is a best online platform to learn.'; //case insensitive search for word jtp //The 'i' after pattern delimiter indicates case-insensitive search $res = preg_match('/jtp/i', $website, $matches); if ($res) { echo 'Pattern matched in string.</br>'; print_r($matches); } else { echo 'Pattern not matched in string.'; } ?>
Ausgabe:
Pattern matched in string. Array ( [0] => JTP )
Beispiele: durch Verwendung der Wortgrenze ()
Was ist Regex Java?
<?php /* The indicates the word boundary in the pattern. So, it matches only the distinct word like 'web', and words like 'coreweb' or ' webinar' do not match partially.*/ if (preg_match('/web/i', 'PHP is a web scripting language.')) { echo 'A match was found. </br>'; } else { echo 'A match was not found. <br>'; } if (preg_match('/web/i', 'PHP is a website scripting language.')) { echo 'A match was found.'; } else { echo 'A match was not found.'; } ?>
Ausgabe:
A match was found. A match was not found.
Beispiele: Ermitteln Sie den Domänennamen aus der URL
Ausgabe:
Domain name is: javatpoint.com
Regex-Syntax (Regulärer Ausdruck).
[ABC] | Entspricht einem einzelnen Zeichen – a, b oder c |
[^abc] | Entspricht jedem einzelnen Zeichen außer a, b oder c |
[a-z] | Entspricht jedem einzelnen Zeichen im Bereich a-z |
[a-zA-Z] | Jedes einzelne Zeichen im Bereich a-z oder A-Z |
^ | Anfang der Linie |
$ | Ende der Linie |
A | Anfang der Zeichenfolge |
Mit | Ende der Zeichenfolge |
. | Ein beliebiges einzelnes Zeichen |
S | Beliebiges Leerzeichen |
S | Jedes Zeichen, das kein Leerzeichen ist |
D | Beliebige Ziffer |
D | Alle nicht-stelligen Zahlen |
In | Beliebiges Wortzeichen (Buchstabe, Zahl, Unterstrich) |
IN | Jedes Zeichen, das kein Wort ist |
B | Wortgrenzenprüfer |
/?/ | Startet und beendet den regulären Ausdruck |
(?) | Erfassen Sie alles, was in Klammern steht () |
(a|b) | A oder B |
A? | Null oder einer von a |
A* | Null oder mehr von einem |
a+ | Einer oder mehrere von a |
ein{3} | Genau 3 von einem |
a{3,} | 3 oder mehr von a |
a{3,6} | Zwischen 3 und 6 a |
ich | Prüfung ohne Berücksichtigung der Groß- und Kleinschreibung |
M | Machen Sie Punkt-Match-Neuzeilen |
X | Leerzeichen in Regex ignorieren |