Регулярные выражения

Второй метод, кроме строкового литерала регулярного выражения, принимает параметр, задающий режим сравнения шаблона с текстом. Список возможных значений параметра flags — здесь.

По сути, класс Pattern — это конструктор регулярных выражений. Под капотом метод compile вызывает закрытый конструктор класса Pattern для создания скомпилированного представления. Экземпляр класса Pattern представляет собою неизменяемый объект. При создании производится синтаксическая проверка регулярного выражения. При несоответствии строки синтаксису регулярных выражений – генерируется исключение PatternSyntaxException.

Синтаксис регулярных выражений основан на использовании символов <([{\^-=$!|]})?*+.> , которые можно комбинировать с буквенными символами. В зависимости от роли их можно разделить на несколько групп :

Метасимволы для поиска совпадений границ строк или текста

Метасимвол Назначение
^ начало строки
$ конец строки
\b граница слова
\B не граница слова
\A начало ввода
\G конец предыдущего совпадения
\z конец ввода
\Z не конец ввода

Метасимволы для поиска символьных классов

Метасимвол Назначение
\d цифровой символ
\D нецифровой символ
\s символ пробела
\S непробельный символ
\w буквенно-цифровой символ или знак подчёркивания
\W любой символ, кроме буквенно-цифрового или знака подчёркивания
. любой символ

Метасимволы для поиска символов редактирования текста

Метасимвол Назначение
\t символ табуляции
\n символ новой строки
\r символ возврата каретки
\f переход на новую страницу
\u0085 символ следующей строки
\u2028 символ разделения строк
\u2029 символ разделения абзацев

Метасимволы для группировки символов

Метасимвол Назначение
[абв] любой из перечисленных (а, б или в)
[^абв] любой, кроме перечисленных (не а, б, в)
[a-zA-Z] слияние диапазонов (латинские символы от a до z без учёта регистра)
[a-d[m-p]] объединение символов (от a до d и от m до p)
[a-z&&[def]] пересечение символов (символы d, e, f)
[a-z&&[^bc]] вычитание символов (символы a, d-z)

Метасимволы для обозначения количества символов — квантификаторы. Квантификатор всегда следует после символа или группы символов

Метасимвол Назначение
? один или отсутствует
* ноль или более раз
+ один или более раз
{n} n раз
{n,} n раз или более
{n,m} не менее n и не более m раз

Экранирование символов в регулярных выражениях происходит путём добавления обратной косой черты «\». В строковых литералах, которые описывают регулярное выражение и используют символ «\», этот символ нужно удваивать.

Назад Вперед

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *