Les Expressions régulières en PHP
Expressions 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 :
$sString = 'hello world';
if( preg_match( '/hello/', $sString ) )
echo 'Trouvé';
else
echo 'Non trouvé';
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
)
$sDate= '2009-10-13';
echo ereg_replace('^([0-9]{2,4})-([0-9]{1,2})-([0-9]{1,2})$', '\3/\2/\1', $sDate);
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 :

4 commentaires
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.
Exact. Merci de ta précision Etienne14
A propos de ereg, je rajoute même ceci tiré de la doc. de PHP :
Source : http://php.net/manual/en/function.ereg.php
[...] : 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 [...]
En principe, on devrait dire, en français expressions rationnelles.
Déposez un commentaire