Expression régulière

Page d'aide sur l'homonymie Pour les articles homonymes, voir régulier et rationnel.
[\w\d+_.-]+@[\w\d.-]+\.[a-zA-Z]{2,4}
Expression régulière reconnaissant
naïvement les adresses de courriel

Une expression régulière ou expression normale [1] ou expression rationnelle, est, en informatique, une chaîne de caractères, que l’on appelle parfois un motif, qui décrit, selon une syntaxe précise, un ensemble de chaînes de caractères possibles. Les expressions régulières sont issues des théories mathématiques des langages formels des années 1940. Leur capacité à décrire avec concision des ensembles réguliers explique qu’elles se retrouvent dans plusieurs domaines scientifiques dans les années d’ après-guerre et justifie leur adoption en informatique. Les expressions régulières sont aujourd’hui utilisées par les informaticiens dans l’édition et le contrôle de texte ainsi que dans la manipulation des langues formelles que sont les langages informatiques.

Utilisation

Exemples d'expressions régulières
Expression régulière Mots décrits Mots non décrits
détecté « détecté » « détect », « détecta »,
« détectés », «  »
ex-(a?e|æ|é)quo « ex-équo », « ex-equo »,
« ex-aequo » et « ex-æquo »
« ex-quo », « ex-aiquo »,
« ex-aeko », « ex-æéquo »
^Section .+ « Section 1 », « Section 22 »,
« Section A », …
« voir Section 1 »,
« Sectionner »
6,66*$ « 6,6 », « 6,666 »,
« 6,6666 », …
« 6,66667 »,
[1234567890]+(,[1234567890]+)? « 2 », « 42 », « 0,618 »,
« 49,3 », …
« 3, », « ,75 » , «  »

Initialement créées pour décrire des langages formels, les expressions régulières sont utilisées dans l’analyse et la manipulation des langages informatiques ; compilateurs et interprètes sont ainsi basés dessus.

Utilisée à la manière des outils de recherche de texte dans un document, une expression régulière décrit des chaînes de caractères ayant des propriétés communes, dans le but de les trouver dans un bloc de texte pour leur appliquer un traitement automatisé, comme un ajout, leur remplacement, leur modification ou leur suppression.

Beaucoup d' éditeurs de texte et la plupart des environnement de développement intégrés permettent de mettre en œuvre les expressions régulières. Un grand nombre d’utilitaires Unix savent les utiliser nativement. Les plus connus desquels étant GNU grep ou GNU sed qui, à la manière des éditeurs de texte, utilisent ces expressions pour parcourir de façon automatique un document à la recherche de morceaux de texte compatibles avec le motif de recherche, et éventuellement effectuer un ajout, une substitution ou une suppression.

Les interface en ligne de commande (ou shells) utilisent un système apparenté mais distinct et moins expressif appelé glob  (en) ou globbing.

Les expressions régulières sont fréquemment employées dans les activités d' administration système, de développement logiciel et de traitement automatique du langage naturel. Elles ont vu un nouveau champ d’application avec le développement d’ Internet, et la diffusion de code malveillant ou de messages pourriels. Des filtres et des robots utilisant ces expressions sont utilisés pour détecter les éléments potentiellement nuisibles.

En théorie des langages formels, une expression régulière est une expression représentant un langage rationnel. Dans ce contexte, les expressions régulières ont un pouvoir expressif plus limité : cette notion a un sens plus large en informatique appliquée qu'en théorie des langages formels.

Article détaillé : langage rationnel.
Other Languages
العربية: تعبير نمطي
azərbaycanca: Regular expression
български: Регулярен израз
Esperanto: Regula esprimo
hrvatski: Regularni izraz
íslenska: Regluleg segð
日本語: 正規表現
한국어: 정규 표현식
македонски: Регуларен израз
Mirandés: Spresson Regular
norsk bokmål: Regulært uttrykk
português: Expressão regular
Simple English: Regular expression
slovenčina: Regulárny výraz
српски / srpski: Regularni izraz
Türkçe: Düzenli ifade
українська: Регулярний вираз
اردو: ریجیکس
Tiếng Việt: Biểu thức chính quy