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:29] 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 ===== ===== Premier exemple =====
Ligne 33: Ligne 45:
  
 Comment extraire "14" ? Comment extraire "14" ?
 +
 +<fragment-list>
 +  * "\d\d"
 +  * "\d{2}"
 +  * "\s\d\d\s"
 +  * .../...
 +</fragment-list>