« Modèle:Regex » : différence entre les versions

Un livre de Wikilivres.
Contenu supprimé Contenu ajouté
mAucun résumé des modifications
Aucun résumé des modifications
Ligne 9 : Ligne 9 :
[[Catégorie:Modèles imprimables spécifiques à plusieurs livres]]
[[Catégorie:Modèles imprimables spécifiques à plusieurs livres]]
</noinclude>
</noinclude>
Les expressions rationnelles peuvent être analysées et testées via un débogueur en ligne comme https://regex101.com/.

{| class="wikitable"
{| class="wikitable"
|+ Expressions rationnelles courantes
|+ Expressions rationnelles courantes
Ligne 113 : Ligne 115 :
|-
|-
| \D || Non chiffre
| \D || Non chiffre
|-
| \n || Fin de ligne
|-
|-
| \s || Caractères espace
| \s || Caractères espace
Ligne 118 : Ligne 122 :
| \S || Non caractères espace
| \S || Non caractères espace
|-
|-
| \t || Tabulation
| \w || Lettre, chiffre ou underscore
|-
| \w || Caractère alphanumérique : lettre, chiffre ou underscore
|-
|-
| \W || Caractère qui n'est pas lettre, chiffre ou underscore
| \W || Caractère qui n'est pas lettre, chiffre ou underscore
Ligne 126 : Ligne 132 :
| \z || Fin de chaine
| \z || Fin de chaine
|}
|}

{{Cacher à l'impression|'''Débogueur''' : https://regex101.com/}}
'''Autres fonctions :'''
* <code>?:</code> : ignorer le groupe de capture lors de la numérotation des {{wt|backreference}}s. Exemple : <code>((?:sous-chaine_non_renvoyée|autre).)</code>.
* <code>?<=</code> : {{wt|positive lookbehind}}
* <code>?<!</code> : {{wt|negative lookbehind}}
* <code>?=</code> : {{wt|positive lookahead}}
* <code>?!</code> : {{wt|negative lookahead}}. Exclusion d'une chaine. Il faut toujours la faire suivre d'un point. Exemples :
*: <code>((?!sous-chaine_exclue).)</code>
*: <code><(?!body).*></code> : pour avoir toutes les balises HTML sauf "body".
*: <code>début((?!\mot_exclu).)*fin</code><ref>https://www.regextester.com/15</ref> : pour rechercher tout ce qui ne contient pas un mot entre deux autres.

'''Remarques :'''
* Les caractères de débuts et fin de chaines ne fonctionnent pas dans <code>[]</code> où ils ont un autre rôle.
* Les opérateurs <code>*</code> et <code>+</code> sont toujours {{wt|avide}}s, pour qu'ils laissent la priorité il faut leur apposer un <code>?</code> à leur suite.

<includeonly>{{#if:{{{nocat|}}}||{{#ifeq:{{{1|}}}|nocat||[[Catégorie:Expressions rationnelles|{{{1|{{BASEPAGENAME}}}}}]]}}}}</includeonly>
<includeonly>{{#if:{{{nocat|}}}||{{#ifeq:{{{1|}}}|nocat||[[Catégorie:Expressions rationnelles|{{{1|{{BASEPAGENAME}}}}}]]}}}}</includeonly>

Version du 2 mai 2019 à 18:34

Consultez également ces pages dans d’autres projets Wikimedia :

Article encyclopédique sur Wikipédia.
Définition sur Wiktionnaire.
Ressources éducatives sur Wikiversité.

Les expressions rationnelles peuvent être analysées et testées via un débogueur en ligne comme https://regex101.com/.

Expressions rationnelles courantes
Caractère Type Explication
. Point n'importe quel caractère
[...] crochets classe de caractères : tous les caractères énumérés dans la classe
[^...] crochets et circonflexe classe complémentée : tous les caractères sauf ceux énumérés
^ circonflexe marque le début de la chaine, la ligne...
$ dollar marque la fin d'une chaine, ligne...
| barre verticale alternative - ou reconnaît l'un ou l'autre
(...) parenthèses groupe de capture : utilisée pour limiter la portée d'un masque ou de l'alternative
* astérisque 0, 1 ou plusieurs occurrences
+ le plus 1 ou plusieurs occurrences
? interrogation 0 ou 1 occurrence
{...} accolades comptage : détermine un nombre de caractères remplissant les critères qu'il suit (ex : a{2} deux occurrences de "a", a{1, 10} entre une et dix)
Classes de caractères POSIX[1]
Classe Signification
[[:alpha:]] n'importe quelle lettre
[[:digit:]] n'importe quel chiffre
[[:xdigit:]] caractères hexadécimaux
[[:alnum:]] n'importe quelle lettre ou chiffre
[[:space:]] n'importe quel espace blanc
[[:punct:]] n'importe quel signe de ponctuation
[[:lower:]] n'importe quelle lettre en minuscule
[[:upper:]] n'importe quelle lettre capitale
[[:blank:]] espace ou tabulation
[[:graph:]] caractères affichables et imprimables
[[:cntrl:]] caractères d'échappement
[[:print:]] caractères imprimables exceptés ceux de contrôle
Expressions rationnelles Unicode[2]
Expression Signification
\A Début de chaine
\b Caractère de début ou fin de mot
\d Chiffre
\D Non chiffre
\n Fin de ligne
\s Caractères espace
\S Non caractères espace
\t Tabulation
\w Caractère alphanumérique : lettre, chiffre ou underscore
\W Caractère qui n'est pas lettre, chiffre ou underscore
\X Caractère Unicode
\z Fin de chaine

Autres fonctions :

  • ?: : ignorer le groupe de capture lors de la numérotation des backreferences. Exemple : ((?:sous-chaine_non_renvoyée|autre).).
  • ?<= : positive lookbehind
  • ?<! : negative lookbehind
  • ?= : positive lookahead
  • ?! : negative lookahead. Exclusion d'une chaine. Il faut toujours la faire suivre d'un point. Exemples :
    ((?!sous-chaine_exclue).)
    <(?!body).*> : pour avoir toutes les balises HTML sauf "body".
    début((?!\mot_exclu).)*fin[3] : pour rechercher tout ce qui ne contient pas un mot entre deux autres.

Remarques :

  • Les caractères de débuts et fin de chaines ne fonctionnent pas dans [] où ils ont un autre rôle.
  • Les opérateurs * et + sont toujours avides, pour qu'ils laissent la priorité il faut leur apposer un ? à leur suite.


  1. https://www.regular-expressions.info/posixbrackets.html
  2. http://www.regular-expressions.info/unicode.html
  3. https://www.regextester.com/15