On 12/10/23 12:25, ToddAndMargo via perl6-users wrote:
On 12/9/23 22:49, William Michels via perl6-users wrote:
f $x.match( / ^ <+[0..9] + [a..z]> ** 7 $ / ) { do something...};


What is the difference between

     <+[0..9]
and
    <[0..9]


And
     / ^ <+[0..9] + [a..z]> ** 7 $ /

does this mean that both [0..9] AND [a..z] have to
be present.  In other words is the an AND or an OR?

I am confused. What am I missing?

[0] > my Str $x="abc3defg"; if $x.match( / ^ <[0..9] + [h..z]> ** 8 $ / ) { print "True\n"; } else { print "False\n" };
False

This would mean that both [0..9] and [h..z] would have to match.


[0] > my Str $x="abc3defg"; if $x.match( / ^ <[0..9] + [a..z]> ** 8 $ / ) { print "True\n"; } else { print "False\n" };
True

This would mean that both [0..9] and [a..z] would have to match.



[0] > my Str $x="abc3defg"; if $x.match( / ^ <[0..9]> ** 8 $ / ) { print "True\n"; } else { print "False\n" };
False

"3" is in the string.  Why False?


my Str $x="abc3defg"; if $x.match( / ^ <[a..h]> ** 8 $ / ) { print "True\n"; } else { print "False\n" };
False

a and b and c and d and e and f and g are also in the string.
Why the false?


Reply via email to