Метод pattern
Метод pattern класса Pattern возвращает строку,
из которой был скомпилирован данный шаблон регулярного
выражения. Метод не принимает параметров и возвращает
значение типа String. Это бывает полезно, когда
шаблон был создан с использованием флагов, и нужно
получить его исходный текст отдельно от этих флагов.
Синтаксис
pattern.pattern()
Пример
Давайте скомпилируем регулярное выражение и получим исходную строку шаблона:
import java.util.regex.Pattern;
public class Main
{
public static void main(String[] args)
{
Pattern pattern = Pattern.compile("[a-z]+");
String res = pattern.pattern();
System.out.println(res);
}
}
Результат выполнения кода:
"[a-z]+"
Пример
Давайте скомпилируем шаблон с флагом
CASE_INSENSITIVE и убедимся, что метод
pattern возвращает только исходное выражение
без информации о флагах:
import java.util.regex.Pattern;
public class Main
{
public static void main(String[] args)
{
Pattern pattern = Pattern.compile("abc", Pattern.CASE_INSENSITIVE);
String res = pattern.pattern();
System.out.println(res);
}
}
Результат выполнения кода:
"abc"
Пример
Давайте получим шаблон и используем его повторно
для компиляции нового объекта Pattern:
import java.util.regex.Pattern;
public class Main
{
public static void main(String[] args)
{
Pattern first = Pattern.compile("\\d+");
String source = first.pattern();
Pattern second = Pattern.compile(source);
System.out.println(second.pattern());
}
}
Результат выполнения кода:
"\d+"