Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【JavaScript ECMAScript】Backreference: \1, \2言語機能の使い方

Backreference: \1, \2言語機能の使い方について、初心者にもわかりやすく解説します。

作成日: 更新日:

基本的な使い方

Backreference: \1, \2オブジェクトは、正規表現において、以前にキャプチャグループによってマッチした部分文字列を繰り返し参照する機能を表すオブジェクトです。これは、特定の文字列パターンを括弧 () で囲んで「キャプチャグループ」として定義し、そのグループがマッチした内容を、正規表現パターン内の別の場所で再利用するための構文です。具体的には、\1 は最初のキャプチャグループにマッチした内容を、\2 は2番目のキャプチャグループにマッチした内容を参照します。

この機能を使用することで、同じ文字列が連続して出現するパターンや、特定の要素で囲まれた構造などを、効率的かつ簡潔に記述できます。例えば、「(\w+)\1」という正規表現は、任意の単語(\w+)をキャプチャし、その直後に全く同じ単語が続くパターンにマッチします。これにより、「testtest」のような繰り返しの文字列を見つけることが可能です。

バックリファレンスは、データの検証、テキストの検索と置換、構造化されたデータのパースなど、多様な場面で強力なツールとして活用されます。特に、HTMLタグのように開始タグと終了タグが一致する必要がある場合や、左右対称の文字列パターンを検出する際にその真価を発揮します。例えば、「<(\w+)>.*?</\1>」というパターンは、開始タグと終了タグの名称が一致するHTML要素にマッチし、正規表現の表現力を大きく向上させます。

公式リファレンス: Backreference: \1, \2

構文(syntax)

1const regex = /(group1)(group2)\1\2/;

引数(parameters)

引数なし

引数はありません

戻り値(return)

戻り値なし

戻り値はありません

関連コンテンツ