Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
projet_scaninvoices:expressions_regulieres [2022/11/15 23:23] supadminprojet_scaninvoices:expressions_regulieres [2022/12/01 16:43] (Version actuelle) – ↷ Liens modifiés en raison d'un déplacement. supadmin
Ligne 1: Ligne 1:
-# Expression régulière ou regex+~~REVEAL~~
  
-Voir la documentation basique sur la [[projet_scaninvoices:creation_des_masques_d_analyses|création des masques d'extraction de données]] (pour import automatique, expressions régulières)+====== Expressions régulières ou regex ======
  
-## +Permet d'extraire des données dans un bloc de texte ! 
 + 
 +<notes> 
 +Voir la documentation basique sur la [[projet_docwizon:creation_des_masques_d_analyses|création des masques d'extraction de données]] (pour import automatique, expressions régulières) 
 +</notes> 
 + 
 +===== Syntaxe (1) ===== 
 + 
 +* `\w`: Caractères alphanumériques, et `_` 
 +* `\W`: Caractères ne composant pas les mots 
 +* `\d` : Chiffres décimaux 
 +* `\D` : Autre chose qu'un chiffre décimal 
 +* `\s` : Caractères d'espacement 
 +* `\S` : Autre chose qu'un caractère d'espacement 
 +* `.`: N'importe quoi 
 + 
 +===== Syntaxe (2) ===== 
 + 
 +Répétitions: 
 + 
 +* `+` : 1 ou plus, exemple `\d+` 
 +* `*` : zéro ou une infinité, exemple `\w*` 
 + 
 +===== Syntaxe (3) ===== 
 + 
 +Les accolades `{}` permettent de définir des répétitions fixes: 
 + 
 +* `\d{2}` : 2 chiffres 
 +* `\d{4}` : 4 chiffres 
 +* `\d{0,5}` : entre aucun et 5 chiffres 
 +* `\/` : le `/` étant réservé il faut le dé-spécialiser en le précédent d'un `\` 
 + 
 +===== Syntaxe (4) ===== 
 + 
 +* `()` : les parenthèses permettent d'indiquer une zone à extraire 
 +* `?<tag>` : pour associer un tag ou une étiquette à la zone extraite 
 + 
 +===== Premier exemple ===== 
 + 
 +Soit le texte suivant : "Le 14 janvier 2022" 
 + 
 +Comment extraire "14"
 + 
 +<fragment-list> 
 +  * "\d\d" 
 +  * "\d{2}" 
 +  * "\s\d\d\s" 
 +  * .../... 
 +</fragment-list>