Sự khác biệt giữa ống đơn và ống đôi trong Raku Regex (| Vs ||)


9

Có hai loại xen kẽ trong regex của Raku: |||. Sự khác biệt là gì ?

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

Câu trả lời:


12
  • các || là hành vi xen kẽ cũ: thử xen kẽ từ lần khai báo đầu tiên đến lần cuối

  • các | thử xen kẽ từ nguyên tử khai báo dài nhất đến ngắn nhất . Nó được gọi là chiến lược Spec Token Match dài nhất .

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

Câu trả lời chi tiết hơn trong bài này

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.