65. Модификаторы (adverbs) в регексах Perl 6, часть 1

В регексах Perl 6 по-прежнему есть модификаторы, однако они теперь выглядят и называются иначе. Называются они теперь adverbs (наречия) и ставятся после двоеточия не после, а до регекса.

Adverbs имеют короткое и длинное имена. Давайте посмотрим на имеющиеся предложения. Все приведенные ниже примеры показаны как часть диалога в режиме REPL.

:i или :ignorecase

Игнорирование регистра букв.

> 'Moscow' ~~ m:i/moscow/
「Moscow」
> 'Moscow' ~~ m/moscow/
False

:s или :sigspace

Включение режима значимости пробелов. В целом этот флаг противоположен по действию модификатору /x из Perl 5. По умолчанию пробелы в регексе считаются незначимыми.

> 'alpha beta' ~~ / a\S+ b\S+ /
Nil

> 'alpha beta' ~~ / a\S+ ' ' b\S+ /
「alpha beta」

> 'alpha beta' ~~ m:s/ a\S+ b\S+ /
「alpha beta」

:g или :global

Искать глобально (но без пересечения) и возвращать несколько результатов.

> 'text' ~~ /\w/
「t」

> 'text' ~~ m:g/\w/
(「t」 「e」 「x」 「t」)

 

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *