Heim  >  Artikel  >  Backend-Entwicklung  >  Wozu dient PHP Preg Match?

Wozu dient PHP Preg Match?

coldplay.xixi
coldplay.xixiOriginal
2020-09-30 09:42:522034Durchsuche

php preg match dient dazu, einen regulären Ausdrucksabgleich durchzuführen. Die Syntax lautet [int preg_match (string $pattern, string $subject [, array &$matches [, int $flags.]]].

Wozu dient PHP Preg Match?

preg_matchFunktion Wird verwendet, um einen regulären Ausdrucksabgleich durchzuführen.

Syntax

int preg_match ( string $pattern , string $subject [, array &$matches [, int $flags = 0 [, int $offset = 0 ]]] )

Suche nach einer Übereinstimmung zwischen Betreff und Muster, die durch den regulären Ausdruck gegeben wird.

Parameterbeschreibung:

  • $muster gesucht, Zeichenfolgenform.

  • $subjekt: Eingabezeichenfolge: Wenn der Parameter Übereinstimmungen angegeben ist, wird $matches[0] mit dem Text gefüllt, der mit dem vollständigen Muster übereinstimmt ] enthält den Text, der mit der ersten erfassten Untergruppe übereinstimmt, usw.

  • $flags: Flags können auf die folgenden Flag-Werte gesetzt werden:

  • PREG_OFFSET_CAPTURE: Wenn dieses Flag übergeben wird, erfolgt für jedes Vorkommen eine Übereinstimmung wird mit seinem String-Offset zurückgegeben (relativ zum Ziel-String). Dadurch wird das im Argument „Matches“ ausgefüllte Array so geändert, dass jedes Element mit dem 0. Element übereinstimmt. Das erste Element ist der Offset des passenden Strings im Ziel Betreff der Zeichenfolge.
  • offset: Normalerweise beginnt die Suche am Anfang der Zielzeichenfolge. Der optionale Parameter offset wird verwendet, um die Startposition der Zielzeichenfolge anzugeben Bytes).

  • Rückgabewert

Gibt die Anzahl der Übereinstimmungen für Muster zurück, da preg_match() im Gegensatz zu preg_match_all() die Suche nach der ersten Übereinstimmung beendet , wird der Betreff bis zum Ende durchsucht. Wenn ein Fehler auftritt, gibt preg_match() FALSE zurück:

<?php
//模式分隔符后的"i"标记这是一个大小写不敏感的搜索
if (preg_match("/php/i", "PHP is the web scripting language of choice.")) {
    echo "查找到匹配的字符串 php。";
} else {
    echo "未发现匹配的字符串 php。";
}
?>
2. Suchen Sie nach dem Wort „Wort“

查找到匹配的字符串 php。

Das Ausführungsergebnis lautet wie folgt:

<?php
/* 模式中的\b标记一个单词边界,所以只有独立的单词"web"会被匹配,而不会匹配
 * 单词的部分内容比如"webbing" 或 "cobweb" */
if (preg_match("/\bweb\b/i", "PHP is the web scripting language of choice.")) {
    echo "查找到匹配的字符串。\n";
} else {
    echo "未发现匹配的字符串。\n";
}
 
if (preg_match("/\bweb\b/i", "PHP is the website scripting language of choice.")) {
    echo "查找到匹配的字符串。\n";
} else {
    echo "未发现匹配的字符串。\n";
}
?>

3. Rufen Sie den Domainnamen in der URL ab

查找到匹配的字符串。
未发现匹配的字符串。
Das Ausführungsergebnis lautet wie folgt:

<?php
// 从URL中获取主机名称
preg_match(&#39;@^(?:http://)?([^/]+)@i&#39;,
    "http://www.runoob.com/index.html", $matches);
$host = $matches[1];
 
// 获取主机名称的后面两部分
preg_match(&#39;/[^.]+\.[^.]+$/&#39;, $host, $matches);
echo "domain name is: {$matches[0]}\n";
?>

. Benannte Untergruppen verwenden

domain name is: runoob.com

Die Ausführungsergebnisse lauten wie folgt:

<?php
 
$str = &#39;foobar: 2008&#39;;
 
preg_match(&#39;/(?P<name>\w+): (?P<digit>\d+)/&#39;, $str, $matches);
 
/* 下面例子在php 5.2.2(pcre 7.0)或更新版本下工作, 然而, 为了后向兼容, 上面的方式是推荐写法. */
// preg_match(&#39;/(?<name>\w+): (?<digit>\d+)/&#39;, $str, $matches);
 
print_r($matches);
 
?>

Wenn Sie mehr über das Programmieren erfahren möchten, achten Sie bitte auf die Spalte „PHP-Schulung“

!

Das obige ist der detaillierte Inhalt vonWozu dient PHP Preg Match?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn