Условия поиска с регулярными выражениями ß
В форме лексико-грамматического поиска в “Условие на слово” можно добавлять условия на лемму или форму с регулярными выражениями.

Регулярное выражение – это шаблон, описывающий все возможные варианты лемм или словоформ, попадающих под заданное в нём правило поиска. Правило поиска задается набором односимвольных или многосимвольных элементов и операторов.
Зарезервированные символы
Обработчик регулярных выражений НКРЯ поддерживает все символы Юникода. В качестве операторов зарезервированы следующие символы :
. ? + * @ | { } [ ] ( ) ^ \
Элементарные операторы
Элементарные операторы описывают условия на один символ или неразрывный набор символов внутри леммы или формы, а также условия их повторения.
Шаблон | Описание | Пример | Результат |
[character_group] | Соответствует любому отдельному символу в character_group | [аи] | Буква “а” или буква “и” |
[^character_group] | Отрицание: соответствует любому отдельному символу, который не находится в character_group | [^а] | Любой символ, кроме буквы “а” |
[Первый-Последний] | Диапазон символов: соответствует любому отдельному символу в диапазоне от первого до последнего | [а-я] | Любая буква |
^ | Символ ^ перед символом в скобках отрицает символ или диапазон | к[^ои]т [^а-я] | Не “кот” и не “кит” Не буква |
( … ) | Образует группу, которую можно использовать для подстановки как единый элемент | (ка) | Буквосочетание “ка” |
| | Соответствует любому элементу из разделенных вертикальной чертой (|) | а|и | “а” или “и” |
. | Подстановочный знак: соответствует любому символу - букве или цифре | с.н | "Сын", “сон”, “сан” и другие сочетания из трех символов, где первый — буква “с”, последний — “н”, а в середине любой символ |
? | Соответствует предыдущему элементу ноль или один раз. Часто используется для того, чтобы сделать предыдущий элемент необязательным | она? | “он” или “она” |
+ | Соответствует предыдущему элементу один или более раз | не+ | “не”, “нее”, “неее” и т. д. |
* | Соответствует предыдущему элементу ноль или более раз | .*а | последовательности символов любой длины, которые заканчиваются на “а” |
@ | Соответствует любой последовательности символов | г@г | последовательности символов любой длины, которые начинаются и заканчиваются на “г” |
{} | Предыдущий элемент повторяется ровно n раз Предыдущий элемент повторяется как минимум n раз Предыдущий элемент повторяется как минимум n раз, но не более чем m раз | Е{3} Е{2,} е{2,3} | “Еее” “ее”, “еее” и больше повторений буквы “е” “ее”, “еее” |
Составные шаблоны
С помощью элементарных операторов можно составлять шаблоны, описывающие целые леммы или слова. Для этого необходимо описать условия на отдельные буквы в слове, а также условия их повторения. Например:
Пример | Шаблон |
Слова с буквосочетанием “ка”, идущим подряд два или три раза | .*(ка){2,3}.* |
Слова из пяти букв | ….. |
Слова на букву “й” | (й).* |
Ограничения
Обработчик регулярных выражений НКРЯ не поддерживает операторы привязки, такие как ^ (начало строки) или $ (конец строки). Чтобы найти лемму или форму, шаблон должен соответствовать целой лемме или форме.
Дополнительные условия на слово, как обычно, задаются с помощью меню грамматических, синтаксических и дополнительных признаков.
ß версия
Функционал ß-версии поиска с регулярными выражениями ограничен:
- Нерасширенный контекст примеров включает только одно предложение.
- В расширенном контексте могут подсвечиваться лишние слова.
- График распределения по годам не строится.