[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

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中