Les Expressions régulières en PHP

les-expressions-regulieres-en-phpExpressions régulières ?

Les Expressions régulières (regex ou encore regexp) sont un moyen de manipuler le contenu d’une chaîne de caractères.

Construction d’une expression régulière :

Voici un tableau recensant les différents caractères utilisés

^ début de la chaîne
$ fin de la chaîne
. n’importe quel caractère
? un ou aucun
+ un ou plusieurs
* zéro ou plusieurs
| ou
- intervalle
() séquence de caractères
[] liste de caractères
{min, max} Limite de nombre
\d un chiffre
\D pas de chiffre
\w les caractères
\W pas de caractère
\s un espace

Quelques exemples concrets :

Pour vérifier qu’une chaîne est présente dans une chaîne :

[php]
$sString = ‘hello world’;
if( preg_match( ‘/hello/’, $sString ) )
echo ‘Trouvé’;
else
echo ‘Non trouvé’;
[/php]

Vous voulez jouer ?
Comment remplacer la chaine (ou plutot date ;) ) AAAA-MM-JJ en JJ/MM/AAAA avec ereg_replace() ? (il y à d’autres méthodes mais c’est pour l’exemple :) )

[php]
$sDate= ’2009-10-13′;
echo ereg_replace(‘^([0-9]{2,4})-([0-9]{1,2})-([0-9]{1,2})$’, ‘\3/\2/\1′, $sDate);
[/php]

Ici, nous jouons donc avec des parenthèses capturantes.

Les fonctions PHP qui utilisent les expressions régulières sont nombreuses et permettent beaucoup de chose :

En voici quelques unes :

A vous de trouver laquelle correspond à votre besoin ;)

Pour vous aidez voici un document « Help sheet » bien pratique :

les-expressions-regulieres-en-php-helpsheet

Article written by devzonefr

Développeur d'applications de formation, je me suis aujourd'hui spécialisé dans le développement web.

4 réponses à “Les Expressions régulières en PHP”

  1. Etienne14

    Les fonctions basées sur POSIX (ereg, eregi et consort) sont dépréciées depuis PHP 5.3.
    Les fonctions preg_x (PCRE) sont conseillées à leur place, depuis PHP 4, car plus rapide.

  2. Lecture de la semaine #5 | DevZone - Zone de développement web

    [...] : La manipulation des chaines de caractères avec les Expressions régulières Les Expressions régulières en PHP Tweetez-le !Partagez-le sur FacebookPartagez-le sur del.icio.usTomber sur un bon truc ? Partagez [...]

  3. Martin

    En principe, on devrait dire, en français expressions rationnelles.

Laisser un commentaire