<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// Dieser Teil hat nichts mit dem Inhalt des Artikels zu tun,Kann jeder seinPHPCode</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Willkommen im regulären Ausdrucks -Tutorial!"</span></span><span>;
</span><span><span class="hljs-meta">?></span></span><span>
<hr>
</span><span><span class="hljs-meta"><?php</span></span><span>
<span class="hljs-comment">/*
Titel:mb_eregWas ist die Spezifikation für das Schreiben regulärer Ausdrücke in Funktionen??Praktische Tipps, mit denen Sie den richtigen Ausdruck schreiben können
existierenPHPMitte,mb_eregDie Funktion istmbstringEine Erweiterung liefert eine multibytensichere reguläre Expressionsübereinstimmungsfunktion。Es wird verwendet, um zu verarbeitenUTF-8Multi-byte codierte Zeichenfolge,Das ist TraditioneregWelche Funktionen können nicht tun。Dieser Artikel wird ausführlich vorgestelltmb_eregMitte正则表达式的写法规范,Und einige praktische Tipps,Hilft Ihnen, korrekte und effiziente Ausdrücke zu schreiben。
eins、mb_eregFunktion Einführung
mb_eregDie grundlegende Verwendung der Funktion ist wie folgt:
mb_ereg(pattern, string, [regs])
其Mitte,patternEs ist ein regulärer Ausdruck,stringist die passende Zeichenfolge,regsist eine Reihe von passenden Ergebnissen(Optional)。
zwei、mb_eregRegelmäßige Ausdrucksschreibspezifikationen
1. verwendenPOSIXStandard reguläre Ausdrücke
mb_eregGebrauchtPOSIXRegelmäßige Expressionssyntax,StattdessenPerlKompatibel mit regulären Ausdrücken(PCRE)。Das heisst:
- Nicht unterstütztPCREMitte的eins些高级特性,Behauptung、Nicht-Greedy-Match usw.。
- Unterstützt grundlegende Zeichensätze、Quantor、Gruppierung von Klammern、Charakterklassen usw.。
2. Kein Trennzeichen erforderlich
UndpregVerschiedene Serienfunktionen,mb_eregMitte的正则表达式不需要前后加“/”oder ein anderer Trennzeichen,Schreiben Sie einfach den Ausdruck selbst。Zum Beispiel:
richtig:^[0-9]+$
Fehler:/^[0-9]+$/
3. Achten Sie auf Fluchtcharaktere
existierenPHPCodeMitte,Die Saite selbst muss möglicherweise entkommen werden。比如要übereinstimmeneins个点号“.”,existieren正则Mitte用“\.”äußern,但existierenPHPFügen Sie der Zeichenfolge einen Backslash hinzu:
```php
$pattern = "a\.b"; // übereinstimmena.b
</span></span></span>
Gleichzeitig wird die Abkürzung wie "\ d" in der regulären Syntax der MB_EREG-Funktion nicht unterstützt, daher wird empfohlen, stattdessen [0-9] zu verwenden.
Unterstützen Sie Multi-Byte-Zeichenanpassungen Da MB_Erg eine Funktion der Mbstring-Erweiterung ist, unterstützt es natürlich Multi-Byte-Codierung wie UTF-8, sodass Charakterklassen auch Multi-Byte-Zeichen wie chinesische Zeichen enthalten können. Zum Beispiel:
<span><span><span class="hljs-variable">$pattern</span></span><span> = </span><span><span class="hljs-string">"^[\x{4e00}-\x{9fa5}]+$"</span></span><span>; </span><span><span class="hljs-comment">// übereinstimmen纯Mitte文字符串</span></span><span>
</span></span>
Es ist jedoch notwendig, die korrekte Codierung in Kombination mit mbregex_encoding festzulegen.
3. praktische Fähigkeiten
Setzen Sie den Codierungsaufruf mb_regex_encoding ("utf-8"), um sicherzustellen, dass die Codierung des regulären Ausdrucks und der Zeichenfolge konsistent ist und übereinstimmende Ausfälle vermeiden.
Verwenden Sie Charakterklassen anstelle von Abkürzungen, um die Verwendung von Abkürzungen wie \ W und \ D zu vermeiden, und verwenden Sie stattdessen spezifische Zeichenklassen wie [0-9a-za-Z_] usw.
Verwenden der Capture -Gruppierung
MB_EREG unterstützt die Erfassung von Halterungen und der passende Inhalt kann über den dritten Parameter erhalten werden. Zum Beispiel:
<span><span><span class="hljs-title function_ invoke__">mb_ereg</span></span><span>(</span><span><span class="hljs-string">"([0-9]+)-([a-z]+)"</span></span><span>, </span><span><span class="hljs-variable">$string</span></span><span>, </span><span><span class="hljs-variable">$matches</span></span><span>);
</span></span>
Auf diese Weise ist $ Matches [1] der numerische Teil und $ Matches [2] der Buchstabenteil.
Debugging Ausdrücke Da es nur begrenzte Fehlereinforderungen für MB_ereg gibt, wird empfohlen, das reguläre Testtool von Online -POSIX zuerst zu verwenden und dann MB_EREG zu verwenden, nachdem der Ausdruck korrekt ist.
4. Zusammenfassung
Die regelmäßige Ausdrucksbeschreibung der Funktion MB_EREG folgt dem POSIX-Standard, erfordert keine Abgrenzer und vermeidet die pcre-spezifische Syntax. Mit den richtigen Codierungseinstellungen und dem Schreiben von Charakterklassen kann die multi-byte-String-Matching effizient behandelt werden. Wenn Sie diese Spezifikationen und Techniken beherrschen, können Sie korrekte und robuste reguläre Ausdrücke schreiben und die Programmstabilität und Kompatibilität verbessern.
Ich hoffe, dieser Artikel wird für Sie hilfreich sein, um die regelmäßigen Ausdrucksschreibspezifikationen in mb_ereg zu verstehen!
*/
?>
<span></span>