Метод flags
Метод flags класса Pattern возвращает целочисленное значение,
представляющее собой битовую маску флагов, с которыми было скомпилировано
регулярное выражение. Флаги влияют на то, как шаблон сопоставляется
с входной строкой. Метод не принимает параметров и возвращает значение
типа int. Полученную маску удобно сравнивать с константами класса
Pattern, такими как CASE_INSENSITIVE, MULTILINE,
DOTALL и другими.
Синтаксис
pattern.flags()
Пример
Давайте скомпилируем шаблон с флагом CASE_INSENSITIVE
и выведем значение, возвращаемое методом flags:
import java.util.regex.Pattern;
public class Main
{
public static void main(String[] args)
{
Pattern pattern = Pattern.compile("abc", Pattern.CASE_INSENSITIVE);
int res = pattern.flags();
System.out.println(res);
}
}
Результат выполнения кода:
2
Пример
Давайте проверим, установлен ли конкретный флаг, сравнив результат
метода flags с константой CASE_INSENSITIVE:
import java.util.regex.Pattern;
public class Main
{
public static void main(String[] args)
{
Pattern pattern = Pattern.compile("abc", Pattern.CASE_INSENSITIVE);
int res = pattern.flags();
System.out.println((res & Pattern.CASE_INSENSITIVE) != 0);
}
}
Результат выполнения кода:
true
Пример
Давайте скомпилируем шаблон с несколькими флагами и выведем их суммарное значение:
import java.util.regex.Pattern;
public class Main
{
public static void main(String[] args)
{
Pattern pattern = Pattern.compile("abc", Pattern.CASE_INSENSITIVE | Pattern.MULTILINE);
int res = pattern.flags();
System.out.println(res);
}
}
Результат выполнения кода:
10
Смотрите также
-
метод
compile,
который компилирует регулярное выражение -
метод
matcher,
который создает сопоставитель с шаблоном -
метод
pattern,
который возвращает строку шаблона -
атрибут
CASE_INSENSITIVE,
который включает регистронезависимое сопоставление