Bonjour,
Je suis une vrai novice en Regex et j'ai vraiment du mal à comprendre la syntaxe.
Mon problème est simple :
j'ai une variable contenant une désignation. Je veux que grâce à des Regex faire:
Si ma désignation contient au moins deux ou plus des mots de ma Regex alors j'initialise ma variable avec un nombre.
J'ai essayé plusieurs Regex mais perl refusait que j'utilise le \g ce qui pourtant d'après le site http://www.regexr.com/ ma Regex fonctionnait.
Pourriez-vous m'éclairer sur la façon de construire cette Expression. Merci d'avance.
Première version de mon expréssion : Mais la j'avais une erreur : " Reference to invalid group 0 in regex perl ...."
J'ai ensuite pensé à lui faire la liste des mots :
Code : Sélectionner tout - Visualiser dans une fenêtre à part /(Revue)|(de)|(besoins)|(d'achats)/g
Deuxième version :
Mais il ne repère pas correctement les choses ça n'a aucun sens puisqu'il affecte des numéros alors que la désignation traitée ne contient même pas les termes.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39 my $typeJalon; switch (@Ligne[3]) { case /Revue|besoins|d'achats/ { $typeJalon = 12; last;} case /Evaluation|fournisseurs/ {$typeJalon = 20; last;} case /Bilan|interne|formation/ {$typeJalon = 3; last;} case /Reunion|lancement|formation /{$typeJalon = 14; last;} case /Developpement|des|supports|formations/ {$typeJalon = 5; last;} case /Conformité|supports-spécifications/ {$typeJalon = 6; last;} case /PV|formation/{$typeJalon = 7; last;} case /Redaction|spécifications|formation/ {$typeJalon = 8; last;} case /Revue|demarrage/ {$typeJalon = 9; last;} case /Plan|qualite/ {$typeJalon = 10; last;} case /Revue|transfert|maintenance-chantier/ {$typeJalon = 11; last;} case /Revue|Projet-SI/ {$typeJalon = 13; last;} case /Reunion|lancement|formation/ {$typeJalon = 14; last;} case /Definition|des|besoins|projet/ {$typeJalon = 15; last;} case /Revue|lancement|Fin|projet/ {$typeJalon = 16; last;} case /Revue|Fin|projet/ {$typeJalon = 17; last;} case /Revue|transfert|chantier-maintenance/ {$typeJalon = 18; last;} case /Revue|passage|garantie-maintenance/ {$typeJalon = 19; last;} case /Revue|specification/ {$typeJalon = 21; last;} case /Revue|conception/ {$typeJalon = 22; last;} case /Revue|choix|technique/ {$typeJalon = 23; last;} case /Revue|livraison|materiel/ {$typeJalon = 24; last;} case /Revue|livraison|logiciel/ {$typeJalon = 25; last;} case /Revue|recette|interne/ {$typeJalon = 26; last;} case /Note|dorganisation|recette/ {$typeJalon = 27; last;} case /Evaluation|deroulement|projet/ {$typeJalon = 20; last;} case /PV|reception|provisoire/ {$typeJalon = 29; last;} case /PV|recette|usine/ {$typeJalon = 30; last;} case /PV|recette|site/ {$typeJalon = 31; last;} case /PV|reception|definitive/ {$typeJalon = 32; last;} case /Rapport|d'activite/ {$typeJalon = 37; last;} case /Bilan|annuel/ {$typeJalon = 38; last;} case /Visite|preventive|site/ {$typeJalon = 39; last;} case /Reunion|annuelle/ {$typeJalon= 40; last;} else { $typeJalon = 0; } }
Un big mega gros merci à celui qui m'aidera !!!!!!
Partager