Savez-vous s'il y a de testeurs gratuits et pas trop compliqués pour apprendre les regex de Perl?
Merci !
j'ai trouvé ça
http://www.solmetra.com/scripts/regex/
mais je n'ai pas compris comment ça marche![]()
Savez-vous s'il y a de testeurs gratuits et pas trop compliqués pour apprendre les regex de Perl?
Merci !
j'ai trouvé ça
http://www.solmetra.com/scripts/regex/
mais je n'ai pas compris comment ça marche![]()
Le one-line perl ?
Exemple :
Et pour extraire des données :
Code : Sélectionner tout - Visualiser dans une fenêtre à part perl -E 'say "mon texte" =~ /ma regexp/ ? "Yes" : "No"'
(one-line écrit pour Unix/Cygwin)
Code : Sélectionner tout - Visualiser dans une fenêtre à part perl -E 'say "Found: ", join ", ", "mon texte" =~ /(\w+)/g'
Oui, un uniligne permet de tester. J'utilise aussi souvent le debugger en mode interactif.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 $ perl -de 42 Loading DB routines from perl5db.pl version 1.32 Editor support available. Enter h or `h h' for help, or `man perldebug' for more help. main::(-e:1): 42 DB<1> print "true" if "mon texte" =~ /mon\s+..x/; true DB<2>
- La programmation fonctionnelle en Perl : 1. Les opérateurs de liste; 2. Les fonctions d'ordre supérieur; 3. Étendre le langage.
- Comment utiliser des décorateurs en Perl: Un tutoriel pour changer le comportement d'une fonction sans en modifier le code source
- De Perl 5 à Perl 6 : 1. Les bases; 2. Les nouveautés; 3. Approfondissements; 4. Annexe 1: Ce qui change entre Perl 5 et Perl 6; Annexe 2: Les nouveautés de Perl 6.
- Les regex et grammaires de Perl 6
- Objets, classes et rôles en Perl 6 - Tutoriel de programmation orientée objet
- Tour d'horizon du nouveau langage Perl 6
merci pour les réponses!
J'ai trouvé utiles ça
regexlib/
et ça
regex tester
J'ai un petit problème:
Je voudrais identifier avec une expression reg, des noms et prenoms qui se trouvent dans un texte.
Par example le texte pourrait etre:
Michelle Dubois mange une pomme, son fils, Jérèmy Dubois n'aime pas les pommes.
Output:
Michelle Dubois
Jérèmy Dubois
J'avais pensé à ça:
Code : Sélectionner tout - Visualiser dans une fenêtre à part (([A-Z]\w+)\s([A-Z]\w+))+
mais ça ne marche pas
conseils?
Ben, en fait, ça marche partiellement, comme le montre cette session sous le debugger Perl:
Ou même, en utilisant un while et le modificateur /g:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 DB<11> $c = "Michelle Dubois mange une pomme, son fils, Jeremy Dubois n'aime pas les pommes"; DB<12> print "true" if $c =~ /(([A-Z]\w+)\s([A-Z]\w+))+/; true DB<13> print $1 if $c =~ /(([A-Z]\w+)\s([A-Z]\w+))+/; Michelle Dubois DB<14>
Mais si tu as la phrase: "La France est un pays de 550.000 km²", tu vas récupérer "La France", à cause de la majuscule en début de phrase.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 DB<16> $c = "Michelle Dubois mange une pomme, son fils, Jeremy Dubois n'aime pas les pommes" DB<17> print "$1 " while $c =~ /(([A-Z]\w+)\s([A-Z]\w+))+/g; Michelle Dubois Jeremy Dubois DB<18>
(Si tu mets des accents sur Jérémy, ça peut poser des problèmes d'encodage dans certains cas.)
- La programmation fonctionnelle en Perl : 1. Les opérateurs de liste; 2. Les fonctions d'ordre supérieur; 3. Étendre le langage.
- Comment utiliser des décorateurs en Perl: Un tutoriel pour changer le comportement d'une fonction sans en modifier le code source
- De Perl 5 à Perl 6 : 1. Les bases; 2. Les nouveautés; 3. Approfondissements; 4. Annexe 1: Ce qui change entre Perl 5 et Perl 6; Annexe 2: Les nouveautés de Perl 6.
- Les regex et grammaires de Perl 6
- Objets, classes et rôles en Perl 6 - Tutoriel de programmation orientée objet
- Tour d'horizon du nouveau langage Perl 6
Pour resoudre ce problème on pourrait stocker les noms dans un tableau pour éviter les erreurs!
en fait, pourquoi utiliser \w si l'on peut utiliser [A-Z] ? Pourquoi certain fois il y a des regex très similaires? Quand il est mieux utiliser l'un au lieu de l'autre?![]()
\w représente les caractères alphanumériques (majuscules, minuscules et chiffres) plus le caractère souligné, donc: [A-Za-z0-9_]. C'est beaucoup plus large que [A-Z].
- La programmation fonctionnelle en Perl : 1. Les opérateurs de liste; 2. Les fonctions d'ordre supérieur; 3. Étendre le langage.
- Comment utiliser des décorateurs en Perl: Un tutoriel pour changer le comportement d'une fonction sans en modifier le code source
- De Perl 5 à Perl 6 : 1. Les bases; 2. Les nouveautés; 3. Approfondissements; 4. Annexe 1: Ce qui change entre Perl 5 et Perl 6; Annexe 2: Les nouveautés de Perl 6.
- Les regex et grammaires de Perl 6
- Objets, classes et rôles en Perl 6 - Tutoriel de programmation orientée objet
- Tour d'horizon du nouveau langage Perl 6
Partager