РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
669 of 1163 menu

Поле COMMENTS

Поле COMMENTS класса Pattern представляет собой флаг регулярного выражения, который включает режим комментариев. В этом режиме пробельные символы и комментарии, начинающиеся с символа #, игнорируются при обработке шаблона. Это позволяет записывать сложные регулярные выражения в более читаемом виде, разбивая их на части и добавляя пояснения. Флаг можно передать вторым параметром в метод compile класса Pattern или использовать в виде встроенного флага (?x) внутри самого выражения.

Синтаксис

Pattern.COMMENTS

Пример

Давайте скомпилируем регулярное выражение с флагом COMMENTS и проверим, что пробелы и комментарии в шаблоне игнорируются:

import java.util.regex.Pattern; import java.util.regex.Matcher; public class Main { public static void main(String[] args) { String regex = "a b c # matches abc"; Pattern pattern = Pattern.compile(regex, Pattern.COMMENTS); Matcher matcher = pattern.matcher("abc"); System.out.println(matcher.matches()); } }

Результат выполнения кода:

true

Пример

Давайте используем встроенный флаг (?x) для включения режима комментариев без передачи второго параметра:

import java.util.regex.Pattern; import java.util.regex.Matcher; public class Main { public static void main(String[] args) { String regex = "(?x) 1 2 3 # matches 123"; Pattern pattern = Pattern.compile(regex); Matcher matcher = pattern.matcher("123"); System.out.println(matcher.matches()); } }

Результат выполнения кода:

true

Пример

Давайте убедимся, что без флага COMMENTS пробелы в шаблоне являются значимыми и строка не совпадает:

import java.util.regex.Pattern; import java.util.regex.Matcher; public class Main { public static void main(String[] args) { String regex = "a b c"; Pattern pattern = Pattern.compile(regex); Matcher matcher = pattern.matcher("abc"); System.out.println(matcher.matches()); } }

Результат выполнения кода:

false

Смотрите также

  • класс Pattern,
    который представляет скомпилированное регулярное выражение
  • метод compile,
    который компилирует регулярное выражение с флагами
  • поле CASE_INSENSITIVE,
    которое включает режим игнорирования регистра
  • поле MULTILINE,
    которое включает многострочный режим
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить