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?