L ES EXPRESSIONS RÉGULIÈRES ENJ AVA              www.abyster.com                 1
2               Q U ’ EST CE QU ’ UNE          EXPRESSION RÉGULIÈRE ?       Chaine de caractères qui décrit un ensemble d...
3             A QUOI SERVENT LES        EXPRESSIONS RÉGULIÈRES ?       De nombreuses utilités en informatique, elles serv...
C OMPOSANTES D ’ UNE EXPRESSION4       RÉGULIÈRES : L ES CARACTÈRES       X    Le caractère X           Le caractère    ...
C OMPOSANTES D ’ UNE EXPRESSION5       RÉGULIÈRES : L ES CLASSES DE CARACTÈRES        [abc]        Les caractères a, b ou...
C OMPOSANTES D ’ UNE EXPRESSION6       RÉGULIÈRES : L ES CLASSES DE CARACTÈRES                                          PR...
C OMPOSANTES D ’ UNE EXPRESSION7   RÉGULIÈRES : C LASSES DE CARACTÈRES                                 POSIX       p{Lowe...
C OMPOSANTES D ’ UNE EXPRESSION8   RÉGULIÈRES : L ES CARACTÈRES DE                                       RÉPÉTITION      ...
C OMPOSANTES D ’ UNE EXPRESSION9        RÉGULIÈRES : O PÉRATEURS LOGIQUES       XY      X suivi de Y       X|Y     X ou Y
10                                    E XEMPLES        Expression régulière correspondant à une         adresse IP      ...
11              U TILISATION AVEC J AVA :                                        REMARQUE        Le caractère  a un sens ...
12     U TILISATION AVEC J AVA : L ES                                          MÉTHODES        La classe String         ...
13         E XPRESSIONS REGULIÈRES EN                               J AVA         Trois classes interviennent :          ...
E XPRESSIONS REGULIÈRES EN J AVA :14                      M ÉTHODES DE PATTERN        static Pattern compile( String expr...
E XPRESSIONS REGULIÈRES EN J AVA :15           Q UELQUES MÉTHODES DE M ATCHER        int start()        int end()      ...
Prochain SlideShare
Chargement dans…5
×

Les expressions régulières en java

4 351 vues

Publié le

Les expressions régulières ou le pattrn matching sont de puissants outils pour le parsing. Le but de cette présentation est de montrer comment y arriver en Java

Publié dans : Technologie
0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
4 351
Sur SlideShare
0
Issues des intégrations
0
Intégrations
3
Actions
Partages
0
Téléchargements
35
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Les expressions régulières en java

  1. 1. L ES EXPRESSIONS RÉGULIÈRES ENJ AVA www.abyster.com 1
  2. 2. 2 Q U ’ EST CE QU ’ UNE EXPRESSION RÉGULIÈRE ?  Chaine de caractères qui décrit un ensemble de chaines de caractères.  Exemple: l’expression régulière [0-9][a-z] décrit l’ensemble des chaines de caractères composées d’un chiffre et d’une lettre
  3. 3. 3 A QUOI SERVENT LES EXPRESSIONS RÉGULIÈRES ?  De nombreuses utilités en informatique, elles servent principalement pour réaliser :  des filtres : ne conserver que certaines lignes d’un fichier texte, de la forme nom=valeur par exemple  des contrôles : vérifier qu’une donnée entrée par un utilisateur a bien le format d’une adresse IP par exemple.  des substitutions : remplacer un motif par une chaine de caractères précise.  des découpages : récupérer une partie d’une chaine de caractères par exemple découper une ligne par rapport aux « ; » dans le cas d’un fichier .csv.
  4. 4. C OMPOSANTES D ’ UNE EXPRESSION4 RÉGULIÈRES : L ES CARACTÈRES  X Le caractère X  Le caractère  t Le caractère tabulation  n Le caractère nouvelle ligne  r Le caractère retour chariot  f Le caractère saut de page  Exemple : ABtCD représente la chaine de caractère AB suivi d’une tabulation suivi de CD
  5. 5. C OMPOSANTES D ’ UNE EXPRESSION5 RÉGULIÈRES : L ES CLASSES DE CARACTÈRES  [abc] Les caractères a, b ou c  [^abc] Les caractères qui ne sont pas a, b ou c  [a-z] Un caractère de a à z  [a-zA-Z] Un caractère de a à z minuscule ou majuscule  [0-9] Un caractère numérique  Exemple : [0-9][a-z] représente une chaine de caractères constituée d’un chiffre puis d’une lettre.
  6. 6. C OMPOSANTES D ’ UNE EXPRESSION6 RÉGULIÈRES : L ES CLASSES DE CARACTÈRES PRÉDÉFINIES  . Un caractère quelconque  d Un caractère numérique : [0-9]  D Un caractère non numérique : [^0-9]  s Un caractère blanc: [ tnx0Bfr]  S Un caractère non blanc : [^s]
  7. 7. C OMPOSANTES D ’ UNE EXPRESSION7 RÉGULIÈRES : C LASSES DE CARACTÈRES POSIX  p{Lower} Une misnuscule : [a-z]  p{Upper} Une majuscule :[A-Z]  p{Alpha} Un caractère alphabétique : [p{Lower}p{Upper}]  p{Digit} Un chiffre : [0-9]  p{Alnum} Un caractère alphanumérique : [p{Alpha}p{Digit}]  p{Punct} Ponctionation : !"#$%&()*+,-./:;<=>?@[]^_`{|}~  p{Blank} Espace ou tabulation : [ t]  p{XDigit} Un caractère hexadécimal: [0-9a-fA-F]  p{Space} Un caractère blanc[ tnx0Bfr]
  8. 8. C OMPOSANTES D ’ UNE EXPRESSION8 RÉGULIÈRES : L ES CARACTÈRES DE RÉPÉTITION  X? X une fois ou zéro fois  X* X zéro ou plusieurs fois  X+ X une fois au moins (XX*)  X{n} X n fois  X{n,} X, au moins n fois  X{n,m} X entre n et m fois
  9. 9. C OMPOSANTES D ’ UNE EXPRESSION9 RÉGULIÈRES : O PÉRATEURS LOGIQUES  XY X suivi de Y  X|Y X ou Y
  10. 10. 10 E XEMPLES  Expression régulière correspondant à une adresse IP  Expression régulière correspondant à une adresse email,  Expression régulière correspondant à un numéro de téléphone,  Expression régulière correspondant à une URL,  Expression régulière correspondant à un nombre réel,
  11. 11. 11 U TILISATION AVEC J AVA : REMARQUE  Le caractère a un sens pour java, il faut donc le doubler dans l’écriture des expressions régulières pour qu’il ne soit pas interprété par java. Par exemple, on écrira . à la place de
  12. 12. 12 U TILISATION AVEC J AVA : L ES MÉTHODES  La classe String  public boolean matches(String regex)  public String replaceAll(String regex, String replacement)  public String[] split(String regex)
  13. 13. 13 E XPRESSIONS REGULIÈRES EN J AVA  Trois classes interviennent :  Pattern : permet dobtenir une version compilée dune expression régulière.  Matcher : permet danalyser une chaîne en entrée à partir dun Pattern.  PatternSyntaxException : exception levée lorsque la syntaxe dune expression régulière nest pas correcte. try{ Pattern p = Pattern .compile("a*b|c"); String entree = "aabbbcab"; Matcher m = p.matcher(entree); while (m.find()) System.out.println(entree.substring(m.start(), m.end())); }catch(PatternSyntaxException pse){ }
  14. 14. E XPRESSIONS REGULIÈRES EN J AVA :14 M ÉTHODES DE PATTERN  static Pattern compile( String expreg)  Matcher matcher (CharSequence entree)  String[] split ( charSequence entree)
  15. 15. E XPRESSIONS REGULIÈRES EN J AVA :15 Q UELQUES MÉTHODES DE M ATCHER  int start()  int end()  String group()  int groupCount()  boolean find()  boolean matches()

×