Warning: mysql_connect() [function.mysql-connect]: Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2) in /home/web/dormirenfrance.fr/ftp/www/bidonfric.php on line 81

Warning: mysql_select_db(): supplied argument is not a valid MySQL-Link resource in /home/web/dormirenfrance.fr/ftp/www/bidonfric.php on line 82
Introduction aux expressions régulières en PHP


 

Introduction aux expressions régulières en PHP

Dans Linux et Unix, la syntaxe qui est couramment utilisé par de nombreuses applications pour la spécification des modèles de texte est connu comme des expressions régulières ou sous forme abrégée - regex. Regex est une technique très puissante pour décrire les profils et les programmes y ont recours pour décrire les séquences de caractères à être jumelés. Programmes de recherche tels que 'grep' s'appuient fortement sur regex. Fondamentalement formes regex la carotte dans le monde Linux. De nombreux langages de scripts tels que Perl, Ruby, PHP, ... etc a construit dans les fonctions de regex aussi. Alors vous pouvez le constater, l'apprentissage des expressions régulières est important, car ils sont très utilisés dans de nombreux endroits, et probablement plus encore dans l'avenir.

Regex peut faire peur au début, mais si vous pouvez obtenir l'essentiel, ce n'est vraiment pas trop difficile à comprendre. Dans cet article, nous allons regarder comment regex entre en jeu lors de l'écriture des applications PHP.

Pour faire un résumé rapide de la mesure, une expression régulière est une séquence de caractères littéraux, les caractères génériques, les modificateurs et d'ancres.

Les caractères littéraux

Caractères sont les lettres, chiffres et caractères spéciaux qui correspondent qu'à eux-mêmes. Les exemples sont abc, 123, ~ @ et ainsi de suite (certains caractères sont réservés cependant).

- Une gamme d'inclusion [mn] correspond à l'une de caractère inclus dans la gamme de m à n.

Exemple '[az]' correspond à tout caractère alpha qui se situe dans l'intervalle a à z.

- Une exclusion plage [^ mn] correspond à un des tout caractère non compris dans la gamme de m à n. Exemple '[^ 0-9]' correspond à n'importe quel caractère non-numérique.

- Une période "." correspond à n'importe quel caractère. Il est également connu sous le nom générique. Exemple ac 'correspondra à' AEC ',' acc ',' a @ a 'et ainsi de suite.

- Le caractère d'échappement''permettre à l'interprétation des caractères spéciaux. Exemple ac 'correspondra à' ac 'uniquement. Rappelez-vous que «. est un caractère réservé à représenter un joker? Par conséquent, pour correspondre à une période, c'est à dire '.', Nous avons besoin d'évasion like it so '.

- L'expression [: alnum:] correspond à tous les caractères alphanumériques. C'est un raccourci pour [A-Za-z0-9]. Comme vous pouvez le voir, ce n'est pas vraiment un raccourci. L'expression [: alnum:] pourrait être plus facile à mémoriser pour certaines personnes.

- L'expression [: alpha:] correspond à tous les caractères alpha. C'est un raccourci pour [A-Za-z].

- L'expression [: blank:] correspond à un espace ou une tabulation.

- L'expression [: digit:] correspond à un chiffre. C'est un raccourci pour [0-9].

- L'expression [: lower:] correspond à toutes les lettres minuscules. C'est un raccourci pour [az].

- L'expression [: upper:] correspond à toutes les lettres majuscules. C'est un raccourci pour [AZ].

- L'expression [: punct:] correspond à tous les caractères imprimables, à l'exclusion des espaces et des caractères alphanumériques.

- L'expression [: space:] correspond à un caractère blanc.

Modificateurs

Un modificateur modifie le sens du caractère immédiatement précédent modèle.

- Une ('*') astérisque correspond à 0 ou plus du terme précédent. Exemple 'a *' correspondra'', 'a', 'aa', 'aaaaa' et ainsi de suite (Notez l'utilisation du''. Il signifie simplement que l'expression ne correspond à rien aussi).

- Un ('?') point d'interrogation correspond à 0 ou 1 de la durée précédente. Exemple 'A? correspondra''et «a» seulement.

- Un ('+') signe plus 1 ou plusieurs matches du terme précédent. Exemple 'A +' correspondra à 'a', 'aaaaaaa' et ainsi de suite. Il ne correspondra pas''.

- (M, n) correspondances entre m et n occurrences du terme précédent. Exemple 'a (1,3)' correspondra à 'a', 'aa' et 'AAA' uniquement.

- (N) correspond exactement n occurrences du terme précédent. Exemple 'a (2)' correspondra à 'aa' uniquement.

Ancres

Ancres établir le contexte pour le modèle comme «le début d'un mot" ou "la fin du mot».

- Le brochet '^' marque le début d'une ligne. Exemple '^ http' correspondra à toute nouvelle ligne qui commence par «http».

- Le signe dollar '$' marque la fin d'une ligne. Exemple 'après $' correspondra à une ligne qui se termine par 'après'. (Les variables mises en chantier de PHP avec $. Essayez de ne pas confondre avec lui).

Groupement

Groupement '()' permet de modificateurs utilisé à des groupes de prescripteurs regex au lieu de seulement le spécificateur de procéder immédiatement. Exemple »(aa | bb)» correspondra soit 'AA' ou 'bb'

Assez de trucs ennuyeux, il est temps de mettre ce que la théorie de la regex en bon usage.

Implémentation PHP

Il existe 2 variantes principales de regex, expressions régulières compatibles Perl (PCRE) et POSIX étendue. PHP offre beaucoup de fonctions à mettre en œuvre ces 2 types de regex. En PHP, la plus couramment utilisée fonction PCRE est «preg_match» et dans POSIX regex étendues, 'ereg. Les deux syntaxe sont légèrement différents mais tout aussi puissant. La préférence à l'emploi 'preg_match »ou« ereg »est entièrement aux individuels bien Zend suggéré que preg_match est légèrement plus rapide. Je préfère utiliser 'eregi simplement en raison de mes antécédents en administration Linux.

Exemple 1: Matching États-Unis 5 ou 9 chiffres des codes postaux

Les codes postaux aux Etats-Unis ont le format suivant


PhpBB - vous pouvez simplifier la procédure de configuration!Traffic Exchange SitesRedirection du trafic Web vers un nouvel emplacementMot-clé conseilDécouvrez les avantages et inconvénients du Search Engine Optimisation (SEO) vs Pay Per ClickQuatre façons de fixer un prix de départ d'une vente aux enchères eBayComment Modifier des annonces Prix fixe Boutique sur eBay?Automatisation et d'externalisation du processus de soumission d'article7 des moyens peu coûteux pour générer du trafic!Millionaire Affiliés: existent-ils?
 







© 2007-2018   www.dormirenfrance.fr