Re: Test not working so well

[email protected] (ToddAndMargo via perl6-users)
Newsgroups perl.perl6.users
Message-ID <[email protected]>
On 12/10/23 22:26, William Michels via perl6-users wrote:
> Inline:
> 
>> On Dec 10, 2023, at 12:25, ToddAndMargo via perl6-users 
>> <[email protected]> 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]
>>
> 
> Nothing, atm (although there may have been an issue with earlier 
> iterations of Rakudo). Anyway, I find it better to be explicit.
> 
> See:
> 
> https://docs.raku.org/language/regexes#Enumerated_character_classes_and_ranges <https://docs.raku.org/language/regexes#Enumerated_character_classes_and_ranges>
> 
> https://docs.raku.org/syntax/%3C%5B%20%5D%3E 
> <https://docs.raku.org/syntax/%3C%5B%20%5D%3E>
> 
>>
>> 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?
>>
> 
> See Kevin Pye's answer. Basically your regex is asking "Starting from 
> the beginning of the string and ending at the end of the string, does 
> the string consist of exactly 7 characters taken from the set of 
> characters including the digits "0"-through-"9" and the lowercase 
> letters "a"-through-"z"? If you satisfy those constraints you're okay 
> (`True`). You could match a string where 1) all 7 characters are digits, 
> 2) all 7 characters are lowercase letters, or 3) a mix of digits and 
> lowercase letters adding up to 7 characters in length.
> 
> HTH, Bill.


Hi Bill,

Yes it does help.  I am slowly getting there.

If I do not know the length of the sting and have to ask
with .chars, is there a way to use a variable in `** 7`

      ** $x.chars   or
      my $xlen = $x.chars; `** $xlen`

or some such?  Is there a special syntax?

Also, must the `**7`  (does it have a name?) always be the length
of the string?

Also, if I do not use ^ and $, what happens?

Yours in confusion,
-T
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.