При поиске и создании правил сегментации используются регулярные выражения, поддерживаемые платформой Java. Более подробную информацию можно найти в документации Java. Ниже приведены несколько примеров и ссылок.
Примечание
Этот раздел предназначен для опытных пользователей, которым требуется создавать собственные правила сегментации или использовать сложные и мощные функции поиска.
Таблица 20. Регулярные выражения - Модификаторы
Выражение |
... соответствует |
(?i) |
Включает поиск совпадений независимо от регистра символов (по умолчанию все шаблоны чувствительны к регистру) |
Таблица 21. Регулярные выражения - Символы
Выражение |
... соответствует |
x |
Символ «x», за исключением следующих случаев… |
\uhhhh |
Символ с шестнадцатеричным значением 0xhhhh |
\t |
Символ табуляции («\u0009») |
\n |
Символ новой строки («\u000A») |
\r |
Символ возврата каретки («\u000D») |
\f |
Символ конца страницы (команда подачи страницы для принтера) («\u000C») |
\a |
Символ звонка (оповещения) («\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 |
Таблица 22. Регулярные выражения - Экранирование
Выражение |
... соответствует |
\ |
не соответствует ничему, только экранирует следующий за ним символ. Это нужно, если вы хотите ввести метасимволы !$()*+.<>?[\]^{|} в качестве их буквальных значений. |
\\ |
Например, это будет обратная косая черта. |
\Q |
не соответствует ничему, только экранирует все символы вплоть до \E |
\E |
не соответствует ничему, только прекращает экранирование, начатое \Q |
Таблица 23. Регулярные выражения - Классы блоков и категорий Юникода
Выражение |
... соответствует |
\p{InGreek} |
Символ из греческого блока (простой блок) |
\p{Lu} |
Прописная буква (см. категории) |
\p{Sc} |
Обозначение денежной единицы |
\P{InGreek} |
Любой символ, кроме символов из греческого блока (исключение) |
[\p{L}&&[^\p{Lu}]] |
Любая буква, кроме прописных (исключение) |
Таблица 24. Регулярные выражения - Наборы символов
Выражение |
... соответствует |
[abc] |
a, b, или c (простой набор) |
[^abc] |
Любой символ кроме a, b, или c (исключение) |
[a-zA-Z] |
Любые символы латинского алфавита, от a до z и от A до Z включительно |
Таблица 25. Регулярные выражения - Предустановленные наборы символов
Выражение |
... соответствует |
. |
Любой символ (кроме символов конца строки) |
\d |
Цифра: [0-9] |
\D |
Не цифра: [^0-9] |
\s |
Любой пробельный символ: [ \t\n\x0B\f\r] |
\S |
Любой не пробельный символ: [^\s] |
\w |
Любой буквенный или цифровой символ, а также знак подчёркивания: [a-zA-Z_0-9] |
\W |
Любой символ кроме буквенного и цифрового, а также знака подчёркивания: [^\w] |
Таблица 26. Регулярные выражения - Границы
Выражение |
... соответствует |
^ |
Начало строки |
$ |
Конец строки |
\b |
Граница слова |
\B |
Не граница слова |
Таблица 27. Регулярные выражения - Жадные кванторы
Выражение |
... соответствует |
X
?
|
X, один раз или ни разу |
X
*
|
X, ноль или более раз |
X
+
|
X, один или более раз |
Примечание
жадные кванторы будут искать как можно больше совпадений. Например,
a+
для последовательности
aaabbb
выдаст «ааа».
Таблица 28. Регулярные выражения - Ленивые кванторы
Выражение |
... соответствует |
X?? |
X, один раз или ни разу |
X*? |
X, ноль или более раз |
X+? |
X, один или более раз |
Примечание
ленивые кванторы будут искать как можно меньше совпадений. Например,
a+?
для последовательности
aaabbb
выдаст только
a
.
Таблица 29. Регулярные выражения - Логические операторы
Выражение |
... соответствует |
XY |
X, за которым идёт Y |
X|Y |
Либо X, либо Y |
(XY) |
XY как отдельная группа |