Cette page vous donne les différences entre la révision choisie et la version actuelle de la page.
expressions_regulieres [2015/08/18 13:04] neo [Création et initialisation] |
expressions_regulieres [2016/07/05 18:54] (Version actuelle) gbdivers |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | ^ [[manipuler_par_caracteres|Chapitre précédent]] ^ [[programmez_avec_le_langage_c|Sommaire principal]] ^ [[expressions_regulieres_2|Chapitre suivant]] ^ | + | ^ [[string_etendu|Chapitre précédent]] ^ [[programmez_avec_le_langage_c|Sommaire principal]] ^ [[expressions_regulieres_2|Chapitre suivant]] ^ |
- | ====== Les expressions régulières 1 ====== | + | ====== [Aller plus loin] Les expressions régulières 1 ====== |
Lorsque nous lisons un texte, nous sommes capable de reconnaître la signification (ou sémantique) de certains motifs dans le texte. Par exemple, si on écrit ''"25/12/2014"'', beaucoup de personnes reconnaîtront une date, correspondant au 25 décembre 2014. Si on écrit ''"18:30"'', on reconnaît une heure : dix-huit heure trente. Ou encore, on reconnait que ''"http://www.google.fr"'' est une URL internet. | Lorsque nous lisons un texte, nous sommes capable de reconnaître la signification (ou sémantique) de certains motifs dans le texte. Par exemple, si on écrit ''"25/12/2014"'', beaucoup de personnes reconnaîtront une date, correspondant au 25 décembre 2014. Si on écrit ''"18:30"'', on reconnaît une heure : dix-huit heure trente. Ou encore, on reconnait que ''"http://www.google.fr"'' est une URL internet. | ||
- | Nous sommes capable de trouver la sémantique d'un chaîne parce que l'on connaît le motif qui caractérise cette chaîne. On a l'habitude d'écrire les dates en indiquant le jour, le mois et l'année (en français). On a l'habitude aussi de voir des URL écrites sous la forme ''"http:/ /"'' suivi de plusieurs mots séparés par des points ou des barres obliques. | + | Nous sommes capable de trouver la sémantique d'une chaîne parce que l'on connaît le motif qui caractérise cette chaîne. On a l'habitude d'écrire les dates en indiquant le jour, le mois et l'année (en français). On a l'habitude aussi de voir des URL écrites sous la forme ''"http:/ /"'' suivi de plusieurs mots séparés par des points ou des barres obliques. |
Les expressions régulières sont un moyen efficace d'écrire de tels motifs. Avec ces motifs, il sera ensuite possible de vérifier qu'une chaîne respecte ce motif ou encore d'identifier les sous-chaînes qui respectent ce motif. | Les expressions régulières sont un moyen efficace d'écrire de tels motifs. Avec ces motifs, il sera ensuite possible de vérifier qu'une chaîne respecte ce motif ou encore d'identifier les sous-chaînes qui respectent ce motif. | ||
Ligne 257: | Ligne 257: | ||
Pour écrire le caractère ''\'', il faut donc écrire ''\\'' en C++, ce qui fait que le motif ''"\."'' devient ''"\\."'' en C++. Cette chaîne doit être lue de la façon suivante : le premier ''"\"'' correspond au caractère d'échappement, donc ''"\\"'' correspond au caractère ''"\"'' dans le motif, et donc le motif ''"\."'' permet de rechercher un point. | Pour écrire le caractère ''\'', il faut donc écrire ''\\'' en C++, ce qui fait que le motif ''"\."'' devient ''"\\."'' en C++. Cette chaîne doit être lue de la façon suivante : le premier ''"\"'' correspond au caractère d'échappement, donc ''"\\"'' correspond au caractère ''"\"'' dans le motif, et donc le motif ''"\."'' permet de rechercher un point. | ||
- | Une autre solution en C++, pour éviter de devoir utiliser les caractères d'échappement, est d'utiliser les littérales chaînes brutes (//raw string//). Dans ce cas, les caractères spéciaux du C++ (''\'' ou ''"'' par exemple) sont interprété comme des caractères normaux. Pour écrire une littérale chaîne brute, il faut remplacer ''"..."'' par ''R"(...)''" | + | Une autre solution en C++, pour éviter de devoir utiliser les caractères d'échappement, est d'utiliser les littérales chaînes brutes (//raw string//). Dans ce cas, les caractères spéciaux du C++ (''\'' ou ''"'' par exemple) sont interprété comme des caractères normaux. Pour écrire une littérale chaîne brute, il faut remplacer ''"..."'' par ''R"(...)"''. |
Ainsi, au lieu d'écrire ''"\\."'', il est possible d'écrire ''R"(\.)"''. le code devient alors : | Ainsi, au lieu d'écrire ''"\\."'', il est possible d'écrire ''R"(\.)"''. le code devient alors : | ||
Ligne 305: | Ligne 305: | ||
- | ^ [[manipuler_par_caracteres|Chapitre précédent]] ^ [[programmez_avec_le_langage_c|Sommaire principal]] ^ [[expressions_regulieres_2|Chapitre suivant]] ^ | + | ^ [[string_etendu|Chapitre précédent]] ^ [[programmez_avec_le_langage_c|Sommaire principal]] ^ [[expressions_regulieres_2|Chapitre suivant]] ^ |
- | {{tag> Cours C++}} |