Exemple d'expression régulière sensible à la casse - Java
En Java, par défaut, la correspondance des expressions régulières (regex) est sensible à la casse. Pour activer la correspondance insensible à la casse regex, ajoutez le préfixe(?) ou activez l'indicateur insensible à la casse directement dans lesPattern.compile().
Un exemple de modèle regex.
Pattern = Registrar:\\s(.*)
Insensible à la casse, ajoutez le préfixe(?).
Pattern = (?)Registrar:\\s(.*)
Insensible à la casse, ajoutez l'indicateur Pattern.CASE_INSENSITIVE.
Pattern.compile("Registrar:\\s(.*)", Pattern.CASE_INSENSITIVE);
1. Exemple RegEx
Exemple d'utilisation de la correspondance insensible à la casse regex pour obtenir les informations «Registrar».
package com.example.regex
import java.util.ArrayList;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class RunExampleTest{
private Pattern registrarPattern = Pattern.compile(REGISTRAR_PATTERN);
//alternative
/*private Pattern registrarPattern =
Pattern.compile(REGISTRAR_PATTERN, Pattern.CASE_INSENSITIVE);*/
private Matcher matcher;
private static final String REGISTRAR_PATTERN = "(?)Registrar:\\s(.*)";
public static void main(String[] args) {
String data = "Testing... \n" +
"Registrar: abc.whois.com\n" +
"registrar: 123.whois.com\n" +
"end testing";
RunExampleTest obj = new RunExampleTest();
List list = obj.getRegistrar(data);
System.out.println(list);
}
private List getRegistrar(String data){
List result = new ArrayList();
matcher = registrarPattern.matcher(data);
while (matcher.find()) {
result.add(matcher.group(1));
}
return result;
}
}
Sortie
[abc.whois.com, 123.whois.com]
Note
Si le (?) est supprimé, seul le [abc.whois.com] sera renvoyé. (Sensible aux majuscules et minuscules).