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:27] 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:
 ~~REVEAL~~ ~~REVEAL~~
  
-# Expression régulière ou regex+====== Expressions régulières ou regex ======
  
-Permet d'extraire des données dans un bloc de texte+Permet d'extraire des données dans un bloc de texte !
  
 <notes> <notes>
-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)+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> </notes>
  
-Syntaxe+===== Syntaxe (1) =====
  
- 
-* `()` : les parenthèses permettent d'indiquer une zone à extraire 
 * `\w`: Caractères alphanumériques, et `_` * `\w`: Caractères alphanumériques, et `_`
 * `\W`: Caractères ne composant pas les mots * `\W`: Caractères ne composant pas les mots
-* `\s+` :  
 * `\d` : Chiffres décimaux * `\d` : Chiffres décimaux
 * `\D` : Autre chose qu'un chiffre décimal * `\D` : Autre chose qu'un chiffre décimal
 * `\s` : Caractères d'espacement * `\s` : Caractères d'espacement
 * `\S` : Autre chose qu'un caractère d'espacement * `\S` : Autre chose qu'un caractère d'espacement
 +* `.`: N'importe quoi
  
-Les `{}` permettent de définir des répétitions:+===== 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{2}` : 2 chiffres
 * `\d{4}` : 4 chiffres * `\d{4}` : 4 chiffres
 * `\d{0,5}` : entre aucun et 5 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 `\+* `\/` : 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"
  
-# Premier exemple+Comment extraire "14" ?
  
-## +<fragment-list> 
 +  * "\d\d" 
 +  * "\d{2}" 
 +  * "\s\d\d\s" 
 +  * .../... 
 +</fragment-list>