Условия поиска с регулярными выражениями

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

Регулярное выражение – это шаблон, описывающий все возможные варианты лемм или словоформ, попадающих под заданное в нём правило поиска. Правило поиска задается набором односимвольных или многосимвольных элементов и операторов.
 

Зарезервированные символы

Обработчик регулярных выражений НКРЯ поддерживает все символы Юникода. В качестве операторов зарезервированы следующие символы :

. ? + * @ | { } [ ] ( ) ^ \

Элементарные операторы

Элементарные операторы описывают условия на один символ или неразрывный набор символов внутри леммы или формы, а также условия их повторения.

Шаблон Описание Пример Результат

[character_group]

Соответствует любому отдельному символу в character_group

[аи]

Буква “а” или буква “и”

[^character_group]

Отрицание: соответствует любому отдельному символу, который не находится в character_group 

[^а]

Любой символ, кроме буквы “а”

[Первый-Последний]

Диапазон символов: соответствует любому отдельному символу в диапазоне от первого до последнего

[а-я]

Любая буква

^

Символ ^ перед символом в скобках отрицает символ или диапазон

к[^ои]т

[^а-я]

Не “кот” и не “кит”

Не буква

( … )

Образует группу, которую можно использовать для подстановки как единый элемент

(ка)

Буквосочетание “ка”

|

Соответствует любому элементу из разделенных вертикальной чертой (|)

а|и

“а” или “и”

.

Подстановочный знак: соответствует любому символу - букве или цифре

с.н

"Сын", “сон”, “сан” и другие сочетания из трех символов, где первый — буква “с”, последний — “н”, а в середине любой символ 

?

Соответствует предыдущему элементу ноль или один раз. Часто используется для того, чтобы сделать предыдущий элемент необязательным

она?

“он” или “она”

+

Соответствует предыдущему элементу один или более раз

не+

“не”“нее”“неее” и т. д.

*

Соответствует предыдущему элементу ноль или более раз

.*а

последовательности символов любой длины, которые заканчиваются на “а”

@

Соответствует любой последовательности символов

г@г

последовательности символов любой длины, которые начинаются и заканчиваются на “г”

{}

Предыдущий элемент повторяется ровно n раз

Предыдущий элемент повторяется как минимум n раз

Предыдущий элемент повторяется как минимум n раз, но не более чем m раз

Е{3}

Е{2,}

е{2,3}

“Еее”

“ее”, “еее” и больше повторений буквы “е”

“ее”, “еее”

 

Составные шаблоны

С помощью элементарных операторов можно составлять шаблоны, описывающие целые леммы или слова. Для этого необходимо описать условия на отдельные буквы в слове, а также условия их повторения. Например:

Пример Шаблон

Слова с буквосочетанием “ка”, идущим подряд два или три раза

.*(ка){2,3}.*

Слова из пяти букв

…..

Слова на букву “й

(й).*

Ограничения

Обработчик регулярных выражений НКРЯ не поддерживает операторы привязки, такие как ^ (начало строки) или $ (конец строки). Чтобы найти лемму или форму, шаблон должен соответствовать целой лемме или форме. 

Дополнительные условия на слово, как обычно, задаются с помощью меню грамматических, синтаксических и дополнительных признаков. 

Обновлено 02.05.2024