Регулярные выражения — 6. Нерассмотренные примеры
Использование списковПомимо скаляров шаблон регулярного выражения Perl 6 может списки. Например, в следующем примере стока $string сопоставляется с массивом @matches. Фактически сопоставление производится с элементами этого списка. В данном случае программа напечатает «123».
sub main(){
my $string = "test 123 string";
my @matches = (456, 123);
$string =~ /(@matches)/;
print $1;
}
Ключевое слово rx
Аналогично тому, как Perl 5 позволяет сохранить шаблон регулярного выражения в переменной, в Perl 6 можно воспользоваться ключевым словом rx, а затем использовать сохраненный объект при сопоставлении со строкой. Имя переменной следует заключить в угловые скобки оценочной конструкции (assertion). Результат работы второй программы — такой же, как в предыдущем случае.
sub main() {27 февраля 2004
my $string = "test 123 string";
my $regexp = rx /\d+/;
$string =~ /(<$regexp>)/;
print $1;
}