Exemple sensible à la casse des expressions régulières - Java

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).