Circum Blog

Circum Net – IT – Conseils pratiques

Comment constituer une expression régulière ?

Uncategorized

Les expressions régulières permettent de définir des modèles à comparer à une chaîne de caractères. En pratique, elles facilitent grandement la manipulation de textes et de données: recherche, comparaison, substitution, tri de caractères.Elles sont utilisées par de nombreux programmes et leur exploitation constitue pour certains langages de programmation un atout.

Le “modèle” d’une expression régulière pourra être comparé à un ensemble de chaînes de caractères. Ce modèle détermine les critères d’appartenance d’une chaîne à un ensemble (les mots commençant par la lettre ‘s’, les mots contenant la suite de caractères ‘http’ ou se terminant par ‘.com’ …).

Exemples :

[0-9]
correspond à un chiffre de 0 à 9

[^0-9]
correspond à tout sauf à un chiffre de 0 à 9

^[0-9]+$
correspond aux nombres entiers

[a-zA-Z0-9_]
correspond à un caractère mot

[ \t\n\r]
correspond à un caractère d’espace (espace simple, tabulation, nouvelle ligne, retour à la ligne)

^[^@ ]+@[^@ ]+\.[^@ \.]+$
correspond à une adresse de courrier électronique

^[a-zA-Z0-9]+://[^ ]+$
correspond à une adresse url

Une expression régulière, comme on peut le constater dans les exemples ci-dessus, se limite à une suite de caractères. Cette suite est composée de deux types de caractères: les caractères dits “spéciaux” et les caractères dits “normaux”. Les caractères spéciaux (ou caractères “réservés”) ont une signification particulière pour le moteur/programme qui interprètera l’expression régulière. Les caractères normaux (ou standards) représentent, eux, les caractères alphanumériques habituels (abc …, 123 …).

L’exemple le plus basic d’expression régulière est certainement un suite de caractères standards (l’expression “ville” représente simplement le mot “ville”). Mais, en utilisant des caractères spéciaux on peut rendre cet exemple plus sophistiqué (l’expression “villes?” représente les mots “ville” et “villes”).

Analysons à présent la signification de quelques caractères spéciaux :

Le caractère “^” indique le début d’une chaîne de caractères
^u : représente les chaînes qui commencent par la lettre “u”

Le caractère “$” indique la fin d’une chaîne de caractères
s$ : représente les chaînes qui se terminent par la lettre “s”

Les caractères “+”, “*” et “?” expriment le nombre d’occurences d’un caractère ou d’une séquence
a+ : représente les chaînes contenant au moins une fois la lettre “a”
e*: représente 0,1, ou plusieurs occurences de la lettre “e”
s? : représente 0 ou 1 occurence de la lettre “s”

Le caractère “.” représente n’importe quel caractère unique
a.+ : représente les chaînes contenant la lettre “a” suivie d’au moins un caractère

La barre verticale “|” traduit une alternative
du|des : représente les chaînes “du” ou “des”

Les crochets [ ] précisent une liste de caractères à envisager
[abc] : représente les lettres “a”, “b” ou “c”
[^abc] : représente n’importe quel caractère sauf les lettres “a”, “b” et “c”
^[abc] : représente les mots qui commencent par la lettre “a”, “b” ou “c”
^[a-z] : représente les mots qui commencent par une lettre minuscule



Apprentissage de PHP

PHP, Programmation

Deux questions s’imposent d’entrée de jeu : PHP est-il facile à apprendre et cela prend-il beaucoup de temps? Dans la littérature sur le sujet, on trouve de nombreux auteurs qui répondent sans préambule OUI à la première question et NON à la deuxième. Il faut cependant nuancer ces propos.

PHP, pour être bien maîtrisé, nécessite de l’étudiant la même énergie et les mêmes efforts que pour tout langage de programmation. Si certaines de ses fonctionnalités sont aisées à manipuler d’autres concepts peuvent être plus ardus (telle que l’approche “orienté objet” introduite dans la version 5 de PHP).

Le temps d’apprentissage va grandement dépendre de votre “background” et des objectifs que vous vous êtes fixés: il est évident qu’une personne ayant déjà pratiqué un langage de programmation découvrira PHP avec un oeil différent de celui du débutant en programmation. La tâche sera plus difficile pour le débutant, mais certainement pas impossible. PHP présente sans conteste les avantages d’offrir aux développeurs Web une suite de procédures clairement définies et d’application directe.