GREP définit un moteur de recherche textuelle un texte pour des expressions dites régulières
http://delphi.icm.edu.pl/ftp/d30free/sgrep.txt
Une expression “Régulière” est une expression qui obéit à une règle (synonyme Type)
Par exemple :
Type | Règle | Exemple |
La règle pour un Nombre est d’aligner des chiffres | Un chiffre est un caractère situé entre 0 et 9 | 1789 |
La règle pour un mot est d’aligner des caractères alphabétiques | Soit de a-z si le mot est un minuscule
Soit de A-Z si c’est un mot ne majuscule |
ARBRE |
La règle pour une date est d’aligner des Nombre et des séparateurs | Jour / Mois / Année (en chiffre) | 14/07/1789 |
Le Moteur GREP utilise un langage symbolique complexe :
- pour identifier les Types d’Expressions affichées dans une texte
- C’est exactement ce qu’il nous faut pour décrypter un fichier HPRIM et en isoler les renseignements utiles pour les placer dans les champs de nos questionnaires.
Le langage symbolique de GREP (pattern matching operators)
Opérateur | Action | Exemple | VRAI | FAUX |
LES OPÉRATEURS TRIVIAUX |
||||
? | Remplace un seul caractère quelconque | |||
* | Remplace un nombre quelconque de caractère | |||
” “ | Cherche la chaine entre les guillemets | “JC HILD” | JC HILD | JCHILD |
LES OPÉRATEURS ALPHANUMÉRIQUES |
||||
%w | WHITE SPACE =>
Cherche un seul espace |
Résultat%w: | Résultat : | Résultat: |
%W | Cherche un ou plusieurs espaces ou de tabulations (l’espace peut être vide) | Résultat%W: | Résultat :
Résultat : Résultat: |
|
%n | NUMBER =>
Cherche un seul chiffre, le chiffre doit être obligatoirement être présent |
ABC%n | ABC1 | ABCD |
%N | Cherche un ou plusieurs chiffres alignés | |||
%-n | NO NUMBER => | |||
%-N | ||||
%a | ALPHABET =>
Cherche une lettre Isolée (la lettre doit exister) elle peut être en minuscule ou en majuscules (a-z & A-Z |
|||
%A | Cherche une suite de lettres alphabétiques quelle que soit la casse. | |||
%-a | Cherche l’expression qui ne contient pas une lettre | |||
%-A | Cherche l’expression qui ne contient pas plusieurs lettre à la suite | |||
%x | XTENDED =>
Cherche une expression contenant obligatoirement un caractère alphanumérique (conjonction de %a et de %n = lettres ou chiffres) |
|||
%X | Cherche une expression contenant un ou plusieurs caractère alphanumériques alignés (conjonction de %a et de %n = lettres ou chiffres) | |||
%-x | Cherche une expression qui ne contient pas un caractère alphanumérique isolé | §%£ | A! | |
%-X | Cherche une expression sans suite de caractères alphanumériques | §%£ | A1! | |
@0 | ADRESSE = AT) =>
Cherche l’expression placée en tout début de ligne |
@0 “Dr” | Dr | Le Dr |
@-0 | Cherche l’expression placée en fin de ligne | “Dr” @-0 | ||
() | Format | |||
{for:to} | Répétition | |||
! | Substitution
ABST |
|||
[] | Tableau | |||
\r\n | Cherche un saut de ligne | |||
\t | Cherche une tabulation => voir aussi %W | |||
\f | Cherche une saut de page | |||