Thread Warum wird das nicht erkannt ? (6 answers)
Opened by jan99 at 2014-03-03 09:39

Linuxer
 2014-03-03 10:44
#173796 #173796
User since
2006-01-27
3890 Artikel
HausmeisterIn

user image
Hi,

Quote
{1-3} wird zu {-2}


da muss ich leider leicht widersprechen ;-)

So wie ich http://perldoc.perl.org/perlre.html#Quantifiers verstehe, ist das Format für den Quantifier recht klar festgelegt; alles, was dem nicht entspricht, wird als Literal interpretiert.

Ein x{3-2} ist demnach auch kein x{1}, sondern eben ein Literal "x{3-2}".

Test:
Code: (dl )
1
2
3
4
5
6
7
# würde er rechnen, müsste der Regex /a{1}/ entsprechen und einen Match erzeugen
> perl -Mstrict -wE "my $re = qr{ a{3-2} }x; say 'Result: ', 'abc' =~ $re ? 'yes: ' : ' no: ' . $re "
Result: no: (?^ux: a{3-2} )

# test auf Literal
> perl -Mstrict -wE "my $re = qr{ a{3-2} }x; say 'Result: ', 'a{3-2}' =~ $re ? 'yes: ' : ' no: ', $re "
Result: yes: (?^ux: a{3-2} )



edit: Tested on WinDOS 7 with perl 5.18.0
meine Beiträge: I.d.R. alle Angaben ohne Gewähr und auf Linux abgestimmt!
Die Sprache heisst Perl, nicht PERL. - Bitte Crossposts als solche kenntlich machen!

View full thread Warum wird das nicht erkannt ?