Пример регулярного выражения с учетом регистра - Java
В Java по умолчанию сопоставление регулярного выражения (regex) чувствительно к регистру. Чтобы включить нечувствительность к регистру в регулярных выражениях, добавьте префикс(?) или включите флаг нечувствительности к регистру непосредственно вPattern.compile().
Пример шаблона регулярного выражения.
Pattern = Registrar:\\s(.*)
Нечувствительность к регистру, добавьте префикс(?).
Pattern = (?)Registrar:\\s(.*)
Нечувствительность к регистру, добавьте флаг Pattern.CASE_INSENSITIVE.
Pattern.compile("Registrar:\\s(.*)", Pattern.CASE_INSENSITIVE);
1. Пример RegEx
Пример использования сопоставления без учета регистра в регулярных выражениях для получения информации о «Регистраторе».
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;
}
}
Выход
[abc.whois.com, 123.whois.com]
Note
Если (?) удалить, будет возвращен только [abc.whois.com]. (Чувствительный к регистру).