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

nota XXV. Пробуем метасимволы


       Вроде бы метасимволы не очень изменились в регулярных выражения. \w по-прежнему означает букву, цифру или подчеркивание. \W означает все другие символы. И так далее... Попробуем основные метасимволы.
    
#!/usr/bin/perl6
my $abc='perl6.su - здесь осваиваю язык perl_6. ';
if ($abc ~~ m/(\w+)/) {
	$0.say;
	}

       Поиск дошел до точки, которая не "буква", и остановился. А как насчёт русских букв?
    
#!/usr/bin/perl6
my $abc='perl6.su - здесь осваиваю язык perl_6. ';
if ($abc ~~ m/'- ' (\w+)/) {
	$0.say;
	}

       Sic! Просто великолепно. По умолчанию кириллица это тоже теперь буквы.
       А если попробовать \W?
    
#!/usr/bin/perl6
my $abc='perl6.su - здесь осваиваю язык perl_6. ';
my @fragm=$abc.split(/\W+/);
for @fragm {.say}
perl6
su
здесь
осваиваю
язык
perl_6

       Совершенно всё тут понятно.
       Точка означает любой символ.
    
#!/usr/bin/perl6
my $abc='perl6.su - здесь осваиваю язык perl_6. ';
if ($abc ~~ m/(.+)/) {
	$0.say;
	}

       \d означает цифру.
    
#!/usr/bin/perl6
my $abc='perl6.su - здесь осваиваю язык perl_6. ';
if ($abc ~~ m/(\d+)/) { $0.say; }

       Интересно, что в "Using perl 6" написано, что \d соответствует не только индийским цифрам, но и латинским.
    
#!/usr/bin/perl6
my $abc='nota XXV. Пробуем метасимволы';
if ($abc ~~ m/(\d+)/) {
	$0.say;
	}
else {"Hic numeri non sunt".say}
Hic numeri non sunt

       Это шутка, как оказалось. Хотя, видимо, можно поставить какой-то модифицирующий ключ...
       \N означает все символы кроме символа новой строки.
    
#!/usr/bin/perl6
my $abc='perl6.su - здесь осваиваю язык perl_6. ';
if ($abc ~~ m/(\N+)/) { $0.say; }

       N.B. Надо найти список всех возможных метасимволов.
# mutatio postrema: 26 Aug 2010

   метасимволы, m      charta situs       nota XXIV <<     >> nota XXVI   

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