Maison  >  Article  >  développement back-end  >  Analyse régulière PHP PCRE

Analyse régulière PHP PCRE

little bottle
little bottleavant
2019-04-25 17:41:382977parcourir

Le contenu principal de cet article concerne l'analyse régulière du PCRE en PHP, qui a une certaine valeur de référence. Les amis intéressés peuvent en apprendre davantage et espérer que cela pourra vous aider.

1. Préface

Dans le blog précédent, il y a une analyse du jeu de caractères. Il ne s'agit pas du jeu de caractères. De nombreuses fonctions PHP traitent par défaut le format d'encodage UTF-8 en Unicode. Alors sans plus attendre, allons droit au but.

2. Fonction PHP analyse mb_split

1 <?php
2 $preg_strings = &#39;测、试、一、下&#39;;
3 $preg_str = mb_split(&#39;、&#39;, $preg_strings);
4 print_r($preg_str);

Résultat d'impression :

Array(
    [0] => 测
    [1] => 试
    [2] => 一
    [3] => 下)

Cette fonction utilise par défaut l'analyse sous-jacente, qui est au format d'encodage UTF-8. Les caractères $preg_strings sont séparés par les points de code hexadécimaux d'UNICODE avec le délimiteur (,).

3. Analyse preg_split de la fonction PHP

Diviser la chaîne "Testez-le"

1 <?php
2 $strings = &#39;测试一下&#39;;
3 $mb_arr = preg_split(&#39;//u&#39;, $strings, -1, PREG_SPLIT_NO_EMPTY);
4 print_r($mb_arr);

Le résultat de l'impression est le suivant :

Array(
    [0] => 测
    [1] => 试
    [2] => 一
    [3] => 下
)

4. PCRE /u analyse

En PHP, les délimiteurs réguliers peuvent être #, %, /, etc.

Parfois, il y a des modificateurs derrière une expression régulière. Alors, que veulent-ils dire ?

Par exemple :

%[\x{4e00}-\x{9fa5}]+%u

Le modificateur suivant u Le la table de codes correspond au format d'encodage de utf-8 en utilisant une correspondance régulière.

Exemple 1 :

1 <?php
2 $strings = &#39;测试一下&#39;;
3 $is_true = preg_match_all(&#39;%[\x{4e00}-\x{9fa5}]+%u&#39;, $strings, $match);
4 var_dump($is_true);

Le résultat de l'impression est le suivant :

Array(
    [0] => Array
        (
            [0] => 测试一下
        )
)

Ici, que signifie [x{4e00}-x{9fa5}] ?

Dans le code PHP normal, x est utilisé pour représenter l'hexadécimal.

Chinois Le point de code UNICODE est en 4E00 - 9FFF (l'hexadécimal est mentionné ici)

Donc, la façon d'écrire une correspondance régulière est l'intervalle [], [x{4E00}-x{9FFF}]

L'effet de ces deux réguliers expressions C'est pareil.

Tutoriels associés : Tutoriel vidéo PHP

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer