Diferença entre tubo único e tubo duplo no Raku Regex (| Vs ||)


9

Existem dois tipos de alternância no regex de Raku: the |e ||. Qual é a diferença ?

say 'foobar' ~~ / foo || foobar /  # 「foo」
say 'foobar' ~~ / foo | foobar /   # 「foobar」

Respostas:


12
  • O || é o antigo comportamento de alternância: tente alternar do primeiro declarado ao último

  • O | tente alternar do átomo declarativo mais longo para o mais curto . É chamada de estratégia Longest Token Matching Spec .

say 'foobar' ~~ / foo || foobar /  # 「foo」 is the first declared
say 'foobar' ~~ / foo | foobar /   # 「foobar」 is the longest token

Resposta mais detalhada neste post

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.