- Ressources
- Langages
- Java
- Les collections
- Conversion & Casting
- Dates
- Tableau
- Bytes
- Formatage
- Traitement de fichiers
- Erreurs
- Le fichier Manifest
- Servlet
- EJB 2.x
- EJB 3.x
- JNDI
- Les méthodes
- Les Threads
- Les Opérateurs
- Les Mots clés
- MOM - JMS
- Class loader
- Garbage Collector
- Les transactions
- Les primitives
- Les expressions régulières
- Les annotations
- Les génériques
- CDI
- Java
Les expressions régulières
Méta caractères
Ce sont des caractères qui sont interprétés par l'analyseur. Pour qu'un méta-caractère ne soit par interprété par l'analyseur, il faut le faire précéder du caractère '\'. Les caractères '-' et ']' ont un statut spécial : dans un intervalle ce sont des méta-caractères, et en dehors d'un intervalle ils se comportent comme des caractères normaux.
| Caractère | Description |
| . | Remplace n'importe quel caractère, sauf la fin de ligne. |
| ? | Opérateur portant sur l'expression précédente : 0 ou une fois l'expression précédente. |
| * | Opérateur de Kleene : 0, 1 ou plusieurs fois l'expression précédente. |
| + | 1 ou plusieurs fois l'expression précédente. |
| [] | Intervalle de caractères. |
| {} | Quantificateur. |
| \ | Le caractère qui suit n'est plus considéré comme un méta-caractère. |
| ^ | Négation ou début de ligne. |
| $ | Fin de ligne. |
| | | Opérateur ou. |
Les quantificateurs
| Caractère | Description |
| + | une ou plusieurs occurrences |
| * | zéro, une ou plusieurs occurrences |
| ? | zéro ou une occurrence |
| {n} | exactement n occurrences |
| {n,} | au moins n occurrences |
| {n,m} | de n à m (inclus) occurrences |
Suite de caractère
| Abréviation | Description |
| \d | Un chiffre : équivalent à [0-9] |
| \D | un caractère qui n'est pas un chiffre : équivalent à [^0-9] |
| \s | Un caractère blanc : espace, tabulation, retour à la ligne ... équivalent à [ \t\n\r\f\x0B] |
| \S | Un caractère non blanc : [^\s] |
| \w | Un caractère de mot : [a-zA-Z_0-9] |
| \W | Un caractère qui n'est pas un caractère de mot : [^\w] |
| \p{javaLowerCase} | Equivalent to java.lang.Character.isLowerCase() |
| \p{javaUpperCase} | Equivalent to java.lang.Character.isUpperCase() |
| \p{javaWhitespace} | Equivalent to java.lang.Character.isWhitespace() |
| \p{javaMirrored} | Equivalent to java.lang.Character.isMirrored() |
En java
Trois classes interviennent dans les utilisations d'expressions régulières en Java :
Pattern: permet d'obtenir une version compilée d'une expression régulière.Matcher: permet d'analyser une chaîne en entrée à partir d'un Pattern.PatternSyntaxException: exception levée lorsque la syntaxe d'une expression régulière n'est 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){
}
Pattern pattern = Pattern.compile(REGEX);
Matcher matcher = pattern.matcher(newText);
if (matcher.lookingAt()) {
//...
}