[Elixir]正規表現のグループ化、後方一致メモ

Erlang/Elixirは、Perlの正規表現に沿っています。なので、メタ文字などの細かな箇所はそれにそう形になります。

参考: http://erlang.org/doc/man/re.html

その中で、後方一致の時の挙動なんかがパッとわかってなかったので、メモ。

> Regex.scan(~r/([A-Z])\1*/, "AAAAABB123CCCCCCC")
[["AAAAA", "A"], ["BB", "B"], ["CCCCCCC", "C"]]

グループ化した ([A-Z]) に対して、同じ文字を0回以上繰り返すものを同一のグループとしてみなします。その結果はリストの ["全ての文字列", "繰り返される値"] という形になります。

日本語でも、こちらを参考に理解を進めたので、メモ。
http://doc.mas3.net/regexp/#backreference

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.