Поиск с учетом регистра

По умолчанию PDL ищет слова без учета регистра (капитализации).

Пример

"объяснил" — найдет формы глагола «объяснить» в любой капитализации, в том числе «Объяснил», «ОБЪЯСНЯТЬ», «оБъяснЯю».

Для поиска слова в определенной капитализации используется функция case().

Синтаксис

case([тип_капитализации,] аргумент_1, аргумент_2,..)

Тип капитализации указывается в качестве первого параметра функции и принимает одно из следующих значений:

lower

строчная капитализация (все буквы слова в нижнем регистре)

upper

верхняя капитализация (все буквы слова в верхнем регистре)

title

заглавная капитализация (первая буква в верхнем регистре, все последующие буквы — в нижнем регистре)

mixed

смешанная капитализация (слово содержит буквы в верхнем и нижнем регистре в произвольном сочетании)

Пример

case(title, ответить) найдет все формы глагола «ответить» в заглавной капитализации: «Ответил, Отвечаю, Отвечаешь, Отвечает, Отвечая» и т.д.;

case(lower, [ответил]) = case([ответил]) найдет слово «ответил» в строчной капитализации, но не найдет «Ответил» или «ОТВЕТИЛ»;

case(mixed, аиф) найдет «АиФ» — аббревиатуру названия газеты «Аргументы и факты».

Если тип регистра не указан, функция case() ищет аргументы в том регистре, в котором они набраны в запросе.

Пример

case(ответить) = case(lower, ответить);

case(ОТВЕТИТЬ) = case(upper, ответить).

При отсутствии аргументов функция case() ищет все слова в указанной капитализации.

Пример

case(upper) найдет все слова в верхней капитализации: МКАД, КХЛ, РСФСР;

length(3,3, case(upper)) найдет все трехбуквенные слова в верхней капитализации (часто это аббревиатуры): ФАС, МЧС, США.

Примечание

Функция с несколькими аргументами эквивалентна запросу из нескольких функций с одним аргументом, объединенных с помощью оператора or:

case(title, конференция, выставка) = case(title, конференция) or case(title, выставка)