【JavaScript ECMAScript】Named backreference: \k<name>言語機能の使い方
Named backreference: \k<name>言語機能の使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
Named backreference: \k<name>クラスは、正規表現において以前にキャプチャされた部分文字列を名前で再利用するための機能を表すクラスです。この機能は、正規表現のパターン内で特定のキャプチャグループによってマッチした文字列を、同じパターン内の別の場所で参照する際に利用されます。従来、後方参照は数値インデックス(例: \1, \2)に依存していましたが、\k<name>構文では、キャプチャグループに任意の分かりやすい名前(<name>の部分)を割り当て、その名前を使って参照することができます。
これにより、正規表現の可読性が飛躍的に向上し、特に複雑なパターンや多数のキャプチャグループを含む正規表現のメンテナンスが容易になります。例えば、(?<firstName>[A-Z][a-z]+)のように「firstName」という名前でグループをキャプチャした場合、その後に\k<firstName>と記述することで、先にキャプチャされた名前に完全に一致する部分に再度マッチさせることが可能です。これは、文字列の整合性チェックや、繰り返されるパターンの一貫性を保証する場面で非常に有効です。ECMAScript 2018以降のJavaScriptでサポートされており、より強力かつ直感的な正規表現の記述を可能にする、重要な機能の一つとして活用されています。
公式リファレンス: Named backreference: \k<name>
構文(syntax)
1const regex = /(?<word>\w+)\s\k<word>/;
引数(parameters)
引数なし
引数はありません
戻り値(return)
戻り値なし
戻り値はありません