Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
| cold:tutoriaux:regex [2015/11/04 16:20] – [Recherche multi-ligne] florian | cold:tutoriaux:regex [2025/09/15 15:11] (Version actuelle) – [Recherche multi-ligne] florian | ||
|---|---|---|---|
| Ligne 6: | Ligne 6: | ||
| ====== Capture ====== | ====== Capture ====== | ||
| - | Les parenthèses ( ) de groupement permettent de délimiter un ensemble d' | + | Les parenthèses |
| Le plus souvent si nous réalisons une capture nous voudrons pouvoir y faire référence via un nom que nous aurons choisi. | Le plus souvent si nous réalisons une capture nous voudrons pouvoir y faire référence via un nom que nous aurons choisi. | ||
| Ligne 12: | Ligne 12: | ||
| (? | (? | ||
| - | La sous-expression | + | La sous-expression |
| - | Dès lors nous pouvons y faire référence dans la suite de l' | + | Dès lors nous pouvons y faire référence dans la suite de l' |
| - | (? | + | (? |
| + | |||
| + | Mais dans le cas de EzGED nous y ferons le plus souvent référence lors d'un post formatage grâce à la syntaxe [[cold: | ||
| - | Mais le plus souvent nous voudront surtout y faire référence lors d'un post formatage.\\ | ||
| Tout de suite un petit exemple. | Tout de suite un petit exemple. | ||
| Ligne 43: | Ligne 44: | ||
| @keepdigits(@self) | @keepdigits(@self) | ||
| | | ||
| - | Ce qui pourrait fonctionner | + | Mais dans notre exemple ci-dessus |
| - | Soit le filtre | + | Nous pouvons procéder autrement en capturant explicitement |
| - | Numero de facture : (? | + | Numero de facture : (? |
| - | Pour ne garder | + | Le premier numéro est la première suite de chiffres non interrompue. Elle prend fin dès lors que l'on rencontre autre chose qu'un chiffre (comme un espace ou une lettre). |
| - | @caststr(@< | + | {{wiki: |
| | | ||
| ===== Recherche multi-ligne ===== | ===== Recherche multi-ligne ===== | ||
| Prenons cet exemple de texte extrait | Prenons cet exemple de texte extrait | ||
| - | < | ||
| - | Tricatel | ||
| - | 120, Avenue Foch | ||
| - | 94000 | ||
| - | Créteil | ||
| + | {{: | ||
| + | Si l'on souhaite récupérer le numéro de facture on pourrait le faire assez simplement en utilisant la macro @relativeto. | ||
| + | Ce serait une bonne solution mais il existe une alternative qui ne nous obligera pas à créer deux champs d' | ||
| + | Comme le montre la capture nous utilisons un champ de type variable et nous ciblons à l'aide des paramètres de position la zone de recherche. La zone de recherche est encadrée en rouge (l' | ||
| - | Facture N° Date de la facture | + | Et l' |
| - | 04/ | + | |
| - | | + | |
| - | | + | |
| - | Numéro de client | + | |
| - | Paiement d0 | + | |
| - | Modalité de paiement | + | |
| - | Emis par Jacques Tricatel | + | |
| - | Contact client | + | |
| - | Date de la vente/ | + | |
| - | Adresse de livraison | + | |
| - | Date de livraison | + | |
| - | </ | + | Décomposons l' |
| - | Si l' | + | ^ Expression ^ Signification ^ |
| - | Ce serait une bonne solution mais il existe une alternative | + | | Facture N. | Ce que l' |
| + | | %%[^\d]*%% | Ce qui suit doit être un caractère (excluant les chiffres) ou un retour | ||
| + | | (? | ||
| - | Sur un modèle d' | ||
| - | Nous allons créer un seul champ de type variable, nous allons restreindre la zone de recherche via les positions X/Y. | + | **En résumé :** Nous cherchons une chaîne qui **commence par** // |
| + | L' | ||
| + | 681476 | ||