perl6.suОсвоим perl6 к 2015 году!

именованные регексы


       Мы уже пробовали грамматики. Оказывается, есть их более простое подобие - именованные регулярные выражения. В "Using perl 6" дается такой пример регекса "слово".
    
#!/usr/bin/perl6
my regex word { \w+ [ \' \w+ ]? } # определение того, что такое слово
# слово это любое количество букв, в которое может затесаться
# один и только один апостроф '
my @verba=<пылесос China plan9 :-) dog's ha'ha ах'ах'ах ну-ну>;
for @verba {
	if m/ ^ <&word> $ / { "$_ verbum est".say }
	else {"$_ non verbum est".say}
	}
пылесос verbum est
China verbum est
plan9 verbum est
:-) non verbum est
dog's verbum est
ha'ha verbum est
ах'ах'ах non verbum est
ну-ну non verbum est

       Это очень мощная возможность в плане повышения читабельности программы.
       Также можно коллекционировать регексы для быстрой вставки потом в новые программы.
       В одном именованном регексе можно использовать другой именованный регекс.
# mutatio postrema: 27 Aug 2010

   именованные регексы, m      charta situs       nota XXXV   

    RSS     stdin@perl6.su    © Alexius Karmanov, 2010-2011