|
|
|
|
var str = "xxxabbcaxxx";
var regex = /a[bc]*a/; /* var regex = new RegExp("a[bc]*a"); */ if (regex.test(str) {...} /* if (str.match(regex)) {...} */ Source : http://www.diku.dk/teaching/2001e/e01.718/Lectures/regex/15.html et http://www.diku.dk/teaching/2001e/e01.718/Lectures/regex/contents.html -= Bobinours =- |
Bonjour....je commence un cours d'informatique et je suis complètement perdue.......
c'est quoi une expression rationnelle? (explication, exemples d'expressions rationnelles et exemples d'application d'expression rationnelles) Quels logiciels utilise les expressions rationnelles? Comment on fait pour utiliser les expression rationnelles avec Perl? (instruction utiliser en perl? opérateurs utilisée en perl?) C'est quoi un métacaractère?? quels sont ceux qui conviennent aux expressions rationnelles? Merci de bien vouloir m'aider....parce que ca fait déja plusieurs jours que je tente de répondre à ces questions en cherchant sur le net...et je ne trouve rien de clair et précis qui me permettrait de bien comprendre à bientot!!
|
salut,
j'pense que tu devrais trouver quelques p'tits trucs interessant ici http://www.perl-gratuit.com/traduction/doc_fr.html et ici http://developpeur.journaldunet.com/tutoriel/cgi/010315cgi_expreg.shtml (dernier p'tit mot : résultats trouvés en tappant "expressions régulières perl" sur google..........) a + |
Salut amélie,
Si les liens ci-dessus ne t'aide pas, voici en deux mots ce que sont les expressions rationnelles, plus connues sous le nom d'expressions régulières (Regular Expressions ou RegEx en anglais). Les expressions régulières sont un outil puissant que fournissent certains langages de programmations (PERL était le plus reconnu). Les regex sont une sorte de motif (un format) qu'il faut appliquer à une chaine de caractères. Voici un exemple d'utilisation simple : my $variable = "01-01-2000"; if ( $variable =~ m/2000/ ) { print "La date contient la valeur : 2000"; } L'instruction de correspondance (match) est : m//; Elle est utilisée avec l'operateur : =~ qui correspond a : LA_VARIABLE_CONCERNEE =~ (correspond-t-elle) m/AU_MOTIF/; La regex est : 2000 (ce qui se trouve entre les deux slashs de : m//) Dans une regex, chaque caractère correspond à sa valeur. Ici, "2000" cherche le caractères "2" puis "0" et "0" enfin "0". Si ces caractères sont présents dans la chaine $variable alors la condition renvoie vrai. Voici un autre exemple plus complexe et plus intéressant : my $variable = "01-01-2000"; if ( $variable =~ m/^([0-9]{2})-([0-9]{2})-([0-9]{4})$/ ) { print "La date : ". $1 ."/". $2 "/". $3 ." est au bon format : jj-mm-aaaa"; } La regex est ici : ^([0-9]{2})-([0-9]{2})-([0-9]{4})$ Maintenant interviennent le puissants Meta-Caractères. Certains caractères, contrairement aux autres, ne valent pas leur valeur dans le motif, mais ont une signification particulière en fonction d'où ils sont utilisés. ^ ---> Utilisé un début de regex, il indique que le motif doit se trouver en début de chaine. $ ---> Utilisé un fin de regex, il indique que le motif doit se trouver en fin de chaine. \d ---> correspond à un chiffre (digit) on aurait pu l'écrire [0-9] (un chiffre compris entre 0 et 9). {2} ---> indique le nombre de fois que doit se répéter le caractère (ici 2, on cherche deux chiffres). () ---> enfin les parenthèses. Elles permettent de mémoriser la valeur trouvée entre elles afin de les utiliser plus tard grace à $1, $2, $3... respectivement à l'ordre d'apparitions des parenthèses. - ---> Le tiret en dehors de crochets correspond à sa valeur (tiret ou signe moins). Dans cette regex, on recherche en début de chaine : 2 chiffres (mis en mémoire dans $1), suivi d'un tiret et de 2 autres chiffres (mis également en mémoire dans $2), un tiret, et enfin 4 chiffres (mis en mémoire dans $3) qui finissent la chaine. (Le format : 01-01-2000 en gros) Ici, tu trouveras la doc française complète des regex en PERL : http://www.mongueurs.net/perlfr/perlre.html Et ici, le summum des regex par japhy (en anglais) : http://japhy.perlmonk.org/book/ -= Bobinours - =- |
merci pour les réponses que vous m'avez apporté...
mais quelque trucs sont encore un peu brouille: connaissez vous des noms précis de LOGICIEL qui permetent d'exploiter les expressions rationnelles |
Toue les compilateurs et interpréteurs de langages implémentant les REGEX.
- PERL avec l'interpréteur Windows http://www.ActivePerl.com - Python avec l'interpréteur Windows ActivePython sur http://www.ActiveState.com - PHP ( http://php.net ) - Java doit avoir des classes. ... Et encore une tripotée de langages. -= Bobinours - =- |