При поиске и создании правил сегментации используются регулярные выражения, поддерживаемые платформой 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 как отдельная группа |