Luke Palmer writes:
> Hans Ginzel writes:
> > Hello,
> >
> > I am missing, in Perl5, some shortcut for matching not whole word,
> > e.g.:
> >
> > /^--v(?:e(?:r(?:s(?:i(?:on?)?)?)?)?)?$/
> >
> > Would there be something in Perl6?
>
> Well, I don't think there's an *exact* substitute for that maximally
> efficient pattern (but I'm no regex guru), but this ought to work:
>
> /^ --(v\w*): <( 'version'.substr(0, $1.chars) eq $1 )> $/
>
> And you could always write a rule:
>
> rule partial ($str) {
> $str.substr(0,1) <partial $str.substr(1)>?
> }
Except that that particular rule results in an infinite loop :-)
rule partial ($str) {
<if $str, <fail>> <null>
| $str.substr(0,1) <partial $str.substr(1)>?
}
Luke