Пример регулярного выражения с учетом регистра - 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(); Listlist = 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]. (Чувствительный к регистру).