Heim  >  Artikel  >  Backend-Entwicklung  >  Detaillierte Erklärung von Metazeichen in regulären Ausdrücken in PHP (Codebeispiele)

Detaillierte Erklärung von Metazeichen in regulären Ausdrücken in PHP (Codebeispiele)

易达
易达Original
2020-05-30 16:54:00167Durchsuche

Ziele dieses Artikels:

1. Die Definition von Metazeichen in regulären Ausdrücken verstehen

2. Die Verwendung von Metazeichen in grundlegenden regulären Ausdrücken beherrschen

(1) , Verstehen Sie die Definition von Metazeichen für reguläre Ausdrücke

Zeichen mit besonderer Bedeutung in regulären Ausdrücken werden als Metazeichen bezeichnet:

, ^, $, [, ], |, (,), ?*, +, {, }

(2) Beherrschen Sie die Verwendung von Metazeichen in grundlegenden regulären Ausdrücken

Zusammenfassung:

1
2. ^ stellt die Startposition des Ziels dar (oder den Anfang der Zeile im Mehrzeilenmodus)
3. $ stellt die Endposition des Ziels dar (oder im Mehrzeilenmodus das Ende). der Zeile)
4. Standardmäßig entspricht es jedem Zeichen außer dem Zeilenumbruchzeichen
5 [ steht für das Definitionsanfangszeichen
6, ] steht für das Definitionsendzeichen
7, | optionaler Zweig
8, (zeigt das Start-Tag einer Untergruppe
9,) gibt das End-Tag einer Untergruppe
10, ?: als Quantifizierer an, der 0 oder 1 Übereinstimmungen anzeigt.
11. *: Als Quantor bedeutet es 0 oder mehr Treffer
12: Als Quantor bedeutet es 1 oder mehr Treffer
13
14, }: Gibt das End-Tag von benutzerdefinierten Quantifizierern an

Die folgenden Codes werden einzeln verwendet, um jede Zusammenfassung zu üben, was das Verständnis fördern kann

1 für Escape Der spezifische Code des Zeichens

lautet wie folgt:

<?php
$p = "/A\/B\/C/";//包含A/B/C字符串
$str = "A/B/C";
if (preg_match($p, $str,$math)) {
    echo &#39;该字符串符合这个规则:/A\/B\/C/<br/>&#39;;
    echo "匹配结果为:";
    print_r($math);
}else{
    echo &#39;该字符串不符合这个规则:/A\/B\/C/&#39;;
}
?>

Das laufende Ergebnis ist:

Die Zeichenfolge entspricht dieser Regel: / A/B/C/
Das Matching-Ergebnis ist: Array ([0] => A/B/C)

2 ^ repräsentiert die Startposition des Ziels (oder des Anfang der Zeile im Mehrzeilenmodus)

Der spezifische Code lautet wie folgt:

<?php
$p = "/^A/m";//以A开始
$str = "Abc \nAcc \nAdd";
if (preg_match_all($p, $str,$math)) {
    echo &#39;该字符串符合这个规则:<br/>&#39;;
    echo "匹配结果为:";
    print_r($math);
}else{
    echo &#39;该字符串不符合这个规则&#39;;
}
?>

Das laufende Ergebnis lautet wie folgt:

Die Zeichenfolge entspricht diese Regel:
Das passende Ergebnis ist: Array ( [0] => Array ( [0] => A [1] => A [2] => A ) )

3. $ stellt die Endposition des Ziels (oder der Linie im Mehrzeilenmodus) dar.

Der spezifische Code lautet wie folgt:

<?php
$p = "/A$/m";//以A结尾的字符串
$str = "nihao A\n this is a word A";
if (preg_match_all($p, $str,$math)) {
    echo &#39;该字符串符合这个规则:<br/>&#39;;
    echo "匹配结果为:";
    print_r($math);
}else{
    echo &#39;该字符串不符合这个规则&#39;;
}
?>

Das laufende Ergebnis ist:

Die Zeichenfolge entspricht dieser Regel:
Das übereinstimmende Ergebnis ist: Array ( [0 ] => Array ( [0] => A [1] => A ) )


4. Standardmäßig entspricht es jedem Zeichen außer Zeilenumbrüchen

Der spezifische Code lautet wie folgt:

<?php
$p = "/A.B/";//查找A(任何字符除了换行符外)B的字符串
$str = "A,B A-B A\nB";
if (preg_match_all($p, $str,$math)) {
    echo &#39;该字符串符合这个规则<br/>&#39;;
    echo "匹配结果为:";
    print_r($math);
}else{
    echo &#39;该字符串不符合这个规则&#39;;
}
?>

Das laufende Ergebnis ist:

Die Zeichenfolge entspricht dieser Regel
Das übereinstimmende Ergebnis ist: Array ( [0] => Array ( [0] => A,B [1] => A-B ) )

5. [ stellt das Definitionsstartzeichen dar

6 ] stellt das Definitionsendzeichen dar

Der spezifische Code lautet wie folgt:

<?php
$p = "/[0-9]A/";//包含小于9的一个数字和A
$str = "0A 1A 2A SA";
if (preg_match_all($p, $str,$math)) {
    echo &#39;该字符串符合这个规则<br/>&#39;;
    echo "匹配结果为:";
    print_r($math);
}else{
    echo &#39;该字符串不符合这个规则&#39;;
}
?>

Der Lauf Ergebnis ist:

Die Zeichenfolge entspricht dieser Regel
Das übereinstimmende Ergebnis ist: Array ( [0] => Array ( [0] => 0A [1] => 1A [2] => 2A ) )

7. Der spezifische Code lautet wie folgt:

<?php
$p = "/[0-9]A|[0-9]B/";//查找小于9的一个数字和A相连的字符串或者查找
                        //小于9的一个数字和B相连的字符串
$str = "0A 1A 2B 3C";
if (preg_match_all($p, $str,$math)) {
    echo &#39;该字符串符合这个规则<br/>&#39;;
    echo "匹配结果为:";
    print_r($math);
}else{
    echo &#39;该字符串不符合这个规则&#39;;
}
?>

Das laufende Ergebnis ist:

Die Zeichenfolge entspricht dieser Regel
Das übereinstimmende Ergebnis ist: Array ( [0] => Array ( [0] => 0A [1] => 1A [2] => 2B ) )


8. ( Stellt die Startmarkierung einer Untergruppe dar

9. ) Stellt die Startmarkierung eines Untergruppen-End-Tags dar

rrree

Das laufende Ergebnis ist:

Die Zeichenfolge entspricht dieser Regel
Das übereinstimmende Ergebnis ist: Array ( [0] => Array ( [0] => ; 1-3 [1] => 2-4 ) [1] => Array ( [0] => 1 [1] => 2 ) [2] => Array ( [0] => 3 [1] => ; 4 ) )


10 ?: Als Quantor bedeutet es 0 oder 1 Übereinstimmungen.

Der spezifische Code lautet wie folgt:

<?php
$p = "/([0-9])-([0-9])/";
$str = "1-3 2-4 3-s";
if (preg_match_all($p, $str,$math)) {
    echo &#39;该字符串符合这个规则<br/>&#39;;
    echo "匹配结果为:";
    print_r($math);
}else{
    echo &#39;该字符串不符合这个规则&#39;;
}
?>

Das laufende Ergebnis lautet wie folgt:

Die Zeichenfolge entspricht dieser Regel
Das Übereinstimmungsergebnis lautet: Array ( [0] => Array ( [0] => H [1] => H [2] => H ) [1] => Array ( [0] => [1] = > [2] => ; ) )


11 *: Als Quantor bedeutet es 0 oder mehr Übereinstimmungen
<?php
$p = "/(A[0-9])?H/";//查找H字符 因为?表示出现0或者1次
$str = "A1AH AsH BH";
if (preg_match_all($p, $str,$math)) {
    echo &#39;该字符串符合这个规则<br/>&#39;;
    echo "匹配结果为:";
    print_r($math);
}else{
    echo &#39;该字符串不符合这个规则&#39;;
}
?>

Das Operationsergebnis ist:

Diese Zeichenfolge stimmt überein. Das Übereinstimmungsergebnis dieser Regel
ist: Array ( [0] => Array ( [0] => H [1] => A1H [2] => A2H [ 3] => A2A2H ) [1 ] => Array ( [0] => [1] => A1 [2] => A2 [3] => A2 ) )


12. +: als Quantifizierer, der eine oder mehrere Übereinstimmungen anzeigt

Der spezifische Code lautet wie folgt:

<?php
$p = "/(A[0-9])*H/";//查找H字符 因为*表示出现0或者多次所以和?的结果不同
$str = "A1AH A1H A2H A2A2H";
if (preg_match_all($p, $str,$math)) {
    echo &#39;该字符串符合这个规则<br/>&#39;;
    echo "匹配结果为:";
    print_r($math);
}else{
    echo &#39;该字符串不符合这个规则&#39;;
}
?>

Das laufende Ergebnis lautet wie folgt:

Die Zeichenfolge entspricht dieser Regel
Das übereinstimmende Ergebnis ist:Array ( [0] => Array ( [0] => A1H [1] => A2H [2] => A2A2H ) [1 ] => Array ( [0] => A1 [1 ] => A2 [2] => A2 ) )


13

14. } : Gibt das Ende des benutzerdefinierten Quantifizierers an. Der spezifische Code für Tag


lautet wie folgt:

<?php
$p = "/(A[0-9])+H/";//查找H字符 前面至少包含A和一个<9的数字相连
$str = "A1AH A1H A2H A2A2H";
if (preg_match_all($p, $str,$math)) {
    echo &#39;该字符串符合这个规则<br/>&#39;;
    echo "匹配结果为:";
    print_r($math);
}else{
    echo &#39;该字符串不符合这个规则&#39;;
}
?>

Das laufende Ergebnis ist:

Die Zeichenfolge entspricht dieser Regel
Das übereinstimmende Ergebnis ist: Array ( [ 0] => Array ( [0] => dd [1] => dd [2] => dd ) )


Zusammenfassung:

1. Definition von Metazeichen für reguläre Ausdrücke verstehen

2. Beherrschen Sie die grundlegende Verwendung von Metazeichen in regulären Ausdrücken

Das obige ist der detaillierte Inhalt vonDetaillierte Erklärung von Metazeichen in regulären Ausdrücken in PHP (Codebeispiele). 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
Vorheriger Artikel:Die Rolle der Java Dao-SchichtNächster Artikel:Die Rolle der Java Dao-Schicht