Мы используем в поиске и в правилах сегментирования те регулярные выражения, которые поддерживаются 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, кроме следующего... |
\u hhhh |
Символ с шестнадцатеричным значением 0x hhhh |
\t |
Символ табуляции ('\u0009' ) |
\n |
Символ новой строки (line feed) ('\u000A' ) |
\r |
Символ возврата каретки ('\u000D' ) |
Кавычки |
|
\ |
Только закавычивает следующий символ. Это нужно, если вы хотите ввести метасимволы !$()*+.<>?[\]^{|} в качестве их буквальных значений. |
\\ |
Например, это будет символ обратного слэша |
\Q |
Только закавычивает все символы до \E |
\E |
Только прекращает закавычивание, начатое \Q |
Классы символов |
|
[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 как отдельная группа |