Differenza tra tubo singolo e tubo doppio in Raku Regex (| Vs ||)


9

Esistono due tipi di alternanza nella regex di Raku: la |e ||. Qual è la differenza ?

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

Risposte:


12
  • Il || è il vecchio comportamento di alternanza: prova l'alternanza dal primo dichiarato all'ultimo

  • Il | prova a alternare dall'atomo dichiarativo più lungo a quello più breve . Si chiama strategia di specifica di corrispondenza token più lunga .

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

Risposta più dettagliata in questo post

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.