В регулярном выражении Раку есть два типа чередования: | и ||. В чем разница?
|
||
say 'foobar' ~~ / foo || foobar / # 「foo」 say 'foobar' ~~ / foo | foobar / # 「foobar」
|| - это старое поведение чередования: попробуйте чередование от первого, объявленного до последнего
| попробуйте чередование от самого длинного к самому короткому декларативному atom . Он называется стратегией Longest Token Matching Spe c.
say 'foobar' ~~ / foo || foobar / # 「foo」 is the first declared say 'foobar' ~~ / foo | foobar / # 「foobar」 is the longest token
Более подробный ответ в этом сообщении