Регулярные выражения в языке программирования java


Регулярные выражения — это способ компактной записи обычных слов, определяющих некоторое множество цепочек символов. В регулярных выражениях применяют литералы - символы, каждый из которых обозначает сам себя (например, b - это символ b), специальные символы (это ({[^-$|]}).?*+), метасимволы, обозначающие предопределенные классы символов и операции. Можно использовать специальный символ в обычном смысле, для этого следует перед ним поставить "обратный слэш" (этот прием называют экранирование). Другая возможность – заключить такой символ в специальные «скобки» Q (открывающая) и Е (закрывающая).

Можно создавать свои классы символов, применяя операции, похожие на операции для множеств. Некоторые метасимволы ориентированы на часть таблицы Unicode, совпадающую с кодовой таблицей ASCII.

Можно применять также следующие метасимволы р{Lu}- большие буквы, р{Ll} - маленькие буквы, р{ХDigit} - шестнадцатеричные цифры.

Иногда "символ” задают специальным обозначением, например, - «табуляция»,
- "символ перевода строки". Можно задать символ его шестнадцатеричным кодом.

Из отдельных символов и обозначений классов составляются цепочки - регулярные выражения. Такие цепочки можно рассматривать двояко:

- как образец для проверки некоторой данной строки (прямая задача);

- как образец для построения строк символов (обратная задача).

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


Только материалы из рубрики ТИЦ свободны для копирования без каких-либо условий. Ссылка на остальные материалы обязательна.