Составление регулярных выражений

Мы используем в поиске и в правилах сегментирования те регулярные выражения, которые поддерживаются Java. Если вам нужна более точная информация, обратитесь по адресу http://java.sun.com/j2se/1.4.2/docs/api/java/util/regex/Pattern.html.

В сети можно найти простые инструктажи по регулярным выражениям (http://www.regular-expressions.info/quickstart.html, например).


Выражение...

соответствует следующему:


Флаги

(?i)

Включает поиск совпадений независимо от регистра символов (по умолчанию все шаблоны чувствительны к регистру)


Символы

x

Символ x, кроме следующего...

\uhhhh

Символ с шестнадцатеричным значением 0xhhhh

\t

Символ табуляции ('\u0009')

\n

Символ новой строки (line feed) ('\u000A')

\r

Символ возврата каретки ('\u000D')

\f

Символ form-feed ('\u000C')

\a

Символ alert (bell) ('\u0007')

\e

Символ escape ('\u001B')

\cx

Управляющий символ, соответствующий x

\0n

Символ с восьмеричным значением 0n (0 <= n <= 7)

\0nn

Символ с восьмеричным значением 0nn (0 <= n <= 7)

\0mnn

Символ с восьмеричным значением 0mnn (0 <= m <= 3, 0 <= n <= 7)

\xhh

Символ с шестнадцатеричным значением 0xhh


Кавычки

\

Только закавычивает следующий символ. Это нужно, если вы хотите ввести метасимволы !$()*+.<>?[\]^{|} в качестве их буквальных значений.

\\

Например, это будет символ обратного слэша.

\Q

Только закавычивает все символы до \E

\E

Только прекращает закавычивание, начатое \Q


Классы блоков и категорий Unicode

\p{InGreek}

Символ в греческом блоке (простой блок)

\p{Lu}

Большая буква (простая категория)

\p{Sc}

Денежный символ

\P{InGreek}

Любой символ кроме одного в греческом блоке (отрицание)

[\p{L}&&[^\p{Lu}]]

Любая буква кроме больших (вычитание)


Классы символов

[abc]

a, b или c (простой класс)

[^abc]

Любой символ, кроме a, b или c (отрицание)

[a-zA-Z]

От a до z или от A до Z включительно (диапазон)


Предустановленные классы символов

.

Любой символ (кроме символов конца строки)

\d

Цифра: [0-9]

\D

Не цифра: [^0-9]

\s

Символ пробела: [ \t\n\x0B\f\r]

\S

Не символ пробела: [^\s]

\w

Символ слова: [a-zA-Z_0-9]

\W

Не символ слова: [^\w]


Границы

^

Начало строки

$

Конец строки

\b

Граница слова

\B

Не граница слова


"Жадные" кванторы

Они будут искать как можно больше совпадений. Например, a+ выдаст на выходе aaa из последовательности aaabbb.

X?

X, один раз или ни разу

X*

X, ноль или больше раз

X+

X, один или больше раз


"Ленивые" ("нежадные") кванторы

Они будут искать как можно меньше совпадений. Например, a+? выдаст на выходе первую a из последовательности aaabbb.

X??

X, один раз или ни разу

X*?

X, ноль или больше раз

X+?

X, один или больше раз


Логические операторы

XY

X, за которым идёт Y

X|Y

Или X или Y

(XY)

XY как отдельная группа



Надлежащие уведомления Наверх Карта документации