[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

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s