キャプチャ

この(.+)はとてもおいしい\1だ。

このミカンはとてもおいしいミカンだ。

(.+)aaa\1bbb\1.

hogeaaahogebbbhoge

()にマッチしたものと同じ内容が\1に入っている文字列をマッチする。

———————————————————————————————
のような同じ文字に囲まれたものだけでなく前後で少し違いがある場合は

<(.*?).*?>.*?のようにキャプチャ外の文字も入れる。

—————————————————————–
複数回のキャプチャでは左から数えた開きかっこの順で\1や\2の順番が決まる

——————————————————————
(?:〇〇〇)とすることでキャプチャしないグループ化を行うことが出来る。

—————————————————————–
Perl、Javaではサポートされていない、
Python、PHP、.NETなどのエンジンで使える機能に名前付きキャプチャ

・PHPやPythonでの名前付きキャプチャの利用
(?P<名前>〇〇〇)
キャプチャしたテキストの参照
(?P=名前)
例:<(?P\w+)>(\w+)>.*

・.NETでの名前付きキャプチャの利用
(?<名前>〇〇〇)
キャプチャしたテキストの参照
\k<名前>
例:<(?\w+)>(\w+)>.*>>