Position actuelle: Accueil> Derniers articles> Quelle est la spécification pour écrire des expressions régulières dans la fonction MB_EREG? Conseils pratiques pour vous aider à écrire la bonne expression

Quelle est la spécification pour écrire des expressions régulières dans la fonction MB_EREG? Conseils pratiques pour vous aider à écrire la bonne expression

gitbox 2025-06-18
<span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-comment">// Cette partie n&#39;a rien à voir avec le contenu de l&#39;article,Peut être n&#39;importe quelPHPCode</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Bienvenue dans le tutoriel d&#39;expression régulière!"</span></span><span>;
</span><span><span class="hljs-meta">?&gt;</span></span><span>

&lt;hr&gt;

</span><span><span class="hljs-meta">&lt;?php</span></span><span>
<span class="hljs-comment">/*
titre:mb_eregQuelle est la spécification pour écrire des expressions régulières dans les fonctions?Conseils pratiques pour vous aider à écrire la bonne expression

existerPHPmilieu,mb_eregLa fonction estmbstringUne extension fournit une fonction de correspondance d&#39;expression régulière de plusieurs gobets。Il est utilisé pour traiterUTF-8Chaîne codée à plusieurs octets,C&#39;est la traditioneregQuelles fonctions ne peuvent pas faire。Cet article introduira en détailmb_eregmilieu正则表达式的写法规范,Et quelques conseils pratiques,Vous aide à écrire des expressions correctes et efficaces。

un、mb_eregFonction Introduction
mb_eregL&#39;utilisation de base de la fonction est la suivante:
mb_ereg(pattern, string, [regs])
其milieu,patternC&#39;est une expression régulière,stringest la chaîne correspondante,regsest un tableau de résultats correspondants(Facultatif)。

deux、mb_eregSpécifications d&#39;écriture d&#39;expression régulière
1. utiliserPOSIXExpressions régulières standard
mb_eregUtiliséPOSIXSyntaxe d&#39;expression régulière,PlutôtPerlCompatible avec les expressions régulières(PCRE)。Cela signifie:
- Non pris en chargePCREmilieu的un些高级特性,Affirmation、Match non riche, etc.。
- Prend en charge les ensembles de caractères de base、quantificateur、Regroupement des supports、Classes de caractères, etc.。

2. Aucun délimiteur requis
etpregDifférentes fonctions de série,mb_eregmilieu的正则表达式不需要前后加“/”ou autre délimiteur,Écrivez simplement l&#39;expression elle-même。Par exemple:
correct:^[0-9]+$
erreur:/^[0-9]+$/

3. Faites attention aux personnages d&#39;échappement
existerPHPCodemilieu,La chaîne elle-même peut avoir besoin d&#39;être échappée。比如要correspondreun个点号“.”,exister正则milieu用“\.”exprimer,但existerPHPAjouter une barre arrière à la chaîne:
```php
$pattern = "a\.b"; // correspondrea.b
</span></span></span>

Dans le même temps, l'abréviation comme "\ d" dans la syntaxe ordinaire de la fonction MB_EREG n'est pas prise en charge, il est donc recommandé d'utiliser [0-9].

  1. Prise en charge de la correspondance des caractères multi-octets puisque MB_EREG est fonction de l'extension MBSTring, il prend naturellement en charge le codage multi-octets tel que UTF-8, afin que les classes de caractères puissent également contenir des caractères multi-octets tels que les caractères chinois. Par exemple:

 <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">// correspondre纯milieu文字符串</span></span><span>
</span></span>

Mais il est nécessaire de définir le codage correct en combinaison avec MBREGEX_ENCODING.

3. Compétences pratiques

  1. Définissez l'appel de codage MB_REGEX_ENCODING ("UTF-8") pour s'assurer que le codage de l'expression régulière et de la chaîne sont cohérents et éviter les défaillances de correspondance.

  2. Utilisez des classes de caractères au lieu des abréviations pour éviter d'utiliser des abréviations telles que \ w et \ d , et utilisez des classes de caractères spécifiques à la place, telles que [0-9a-za-z_], etc.

  3. Utilisation du groupe de capture
    MB_EREG prend en charge la capture du support et le contenu correspondant peut être obtenu via le troisième paramètre. Par exemple:

 <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>

De cette façon, $ correspond [1] est la partie numérique et $ correspond [2] est la pièce de lettre.

  1. Débogage des expressions car il y a des invites d'erreur limitées pour MB_EREG, il est recommandé d'utiliser l'outil de test régulier POSIX en ligne pour déboguer d'abord, puis d'utiliser MB_EREG après avoir confirmé que l'expression est correcte.

4. Résumé
L'écriture d'expression régulière de la fonction MB_EREG suit la norme POSIX, ne nécessite pas de délimiteurs et évite la syntaxe spécifique au PCRE. Avec les paramètres de codage et l'écriture de classe de caractères corrects, la correspondance de chaînes multi-octets peut être gérée efficacement. La maîtrise de ces spécifications et techniques peut vous aider à écrire des expressions régulières correctes et robustes et à améliorer la stabilité et la compatibilité du programme.

J'espère que cet article sera utile pour que vous compreniez les spécifications d'écriture d'expression régulières dans MB_EREG!

* /
?>

 <span></span>