[Linz-pm] Perl6 und regex: Alles außer </message>

WFB wolfgang.banaston at gmail.com
Wed Jan 13 01:19:45 PST 2016


Hallo, Leute!

Ich spiel mich immer noch mit perl6 rum, was soll ich sagen, es macht
einfach Spaß...

Gerade macht mir aber ein Problem zu schaffen, wieder mal Grammars:

use v6;

grammar message {
    token TOP { <tokenstart> <message> }
    token tokenstart { \<message\> }
    token message { .*? <.tokenend> }
    token tokenend { \<\/message\> }
}

my $rec = "<message>Ich bin eine Message</message><message>Ich bin eine
Message</message><message>Ich bin eine Message</message><message>Ich bin
eine Message</message><message>Ich bin eine Message</message><message>Ich
bin eine Message</message>";

while my $match = message.subparse($rec) {
    say ~$match<message>;
    $rec = $rec.subst($match, "");
}

Das funktioniert wie erwartet, allerdings ist <.tokenend> immer in
$/<message> dabei. obwohl ich irgendwo gelesen habe, dass der . bewirkt das
das nicht gespeichert wird. Gibt es einen anderen Weg das zu erreichen?
Gibt es vielleicht sowas wie <!tokenend>, damit alles außer <tokenend>
gefunden wird?

Danke und Grüße,
Wolf
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.pm.org/pipermail/linz-pm/attachments/20160113/1d3b1d7f/attachment.html>


More information about the Linz-pm mailing list