regex

Назначение

Находит фрагменты документов, удовлетворяющие указанному регулярному выражению.

Синтаксис

regex(регулярное_выражение)

Аргументы

Функция принимает в качестве единственного аргумента регулярное выражение, записанное в кавычках. Регулярное выражение должно соответствовать синтаксису Perl (http://perldoc.perl.org/perlre.html).

Однако в PDL по умолчанию игнорируются пробелы в регулярных выражениях. Например, regex("a б") = regex("aб").

Функция regex() может принимать следующие опциональные именованные параметры:

  • scope = word/sentence/paragraph/text - область действия регулярного выражения ограничена словом/предложением/параграфом/документом (значение по умолчанию - word);

  • casesens = yes/no - включает/отключает чувствительность регулярного выражения к регистру (значение по умолчанию - no);

  • ignore_ws:=yes/no - включает/отключает режим игнорирования пробелов в регулярном выражении;

  • wholeword:=yes/no - фрагмент, соответствующий регулярному выражению, совпадает/не совпадает с границей слова.

Возвращаемое значение

Документы, соответствующие запросу.

Примеры
  • regex("а.{1,10}т") = regex("а.{1,10}т", scope:=word) находит «аудит», «абонент», «Адвокат», но не находит «а значит» (т.к. область действия регулярного выражения ограничена словом);

  • regex("а.{1,10}т", scope:=sentence) находит «аудит», «абонент», «адвокат», «а значит» (т.к. область действия регулярного выражения ограничена предложением);

  • regex("А.{1,5}С", casesens:=yes) находит «АЭС», «АЗС», «АТЭС», но не находит «адрес» и «аванс» (т.к. регулярное выражения является чувствительным к регистру).