Perl 6

Регулярные выражения — 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() {
   my $string = "test 123 string";
   my $regexp = rx /\d+/;
   $string =~ /(<$regexp>)/;
   print $1;
}
27 февраля 2004