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

Метод compile

Метод compile класса Pattern компилирует заданное регулярное выражение в объект класса Pattern. В первый параметр мы передаем строку с регулярным выражением, во второй параметр (необязательный) - флаги, которые изменяют поведение сопоставления, например Pattern.CASE_INSENSITIVE для игнорирования регистра. Скомпилированный объект Pattern затем используется для создания Matcher, который выполняет поиск и сопоставление в строках.

Синтаксис

Pattern.compile(String regex) Pattern.compile(String regex, int flags)

Пример

Давайте скомпилируем простое регулярное выражение, которое соответствует цифрам от 1 до 5, и проверим его работу на строке:

import java.util.regex.Pattern; import java.util.regex.Matcher; public class Main { public static void main(String[] args) { String regex = "[1-5]+"; Pattern pattern = Pattern.compile(regex); Matcher matcher = pattern.matcher("12345"); System.out.println(matcher.matches()); } }

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

true

Пример

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

import java.util.regex.Pattern; import java.util.regex.Matcher; public class Main { public static void main(String[] args) { String regex = "abcde"; Pattern pattern = Pattern.compile(regex, Pattern.CASE_INSENSITIVE); Matcher matcher = pattern.matcher("ABCDE"); System.out.println(matcher.matches()); } }

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

true

Пример

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

import java.util.regex.Pattern; public class Main { public static void main(String[] args) { try { Pattern pattern = Pattern.compile("[a-z"); System.out.println("Pattern compiled: " + pattern); } catch (Exception e) { System.out.println("Error: " + e.getMessage()); } } }

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

"Error: Unclosed character class"

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

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