【JavaScript ECMAScript】Non-capturing group: (?:...)言語機能の使い方
Non-capturing group: (?:...)言語機能の使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
Non-capturing group: (?:...)オブジェクトは、正規表現パターン内で、特定の文字列のまとまりをグループ化する際に使用される非キャプチャリンググループという概念を表すオブジェクトです。この構文は、丸括弧 () を使用した通常のグループ化とは異なり、マッチした部分文字列を後で参照するための「キャプチャ」を行いません。通常のグループ化 () は、マッチした内容を記憶し、後方参照や結果配列でアクセスできるようにしますが、(?:...) は単にパターンの一部を論理的にまとめる目的で用いられます。
例えば、「apple|orange」のように複数の選択肢をまとめる場合や、「(?:foo){2}」のように繰り返しを適用する範囲を明確にしたい場合に便利です。この非キャプチャリンググループを使用することで、正規表現エンジンの処理が効率化され、メモリ使用量を削減できるという利点があります。特に、キャプチャが不要な多数のグループを含む複雑な正規表現を扱う際に、パフォーマンスの向上とコードの可読性維持に貢献します。また、後方参照の番号付けに影響を与えないため、他のキャプチャリンググループの番号管理も容易になります。
公式リファレンス: Non-capturing group: (?:...)
構文(syntax)
1/(?:foo|bar)/;
引数(parameters)
引数なし
引数はありません
戻り値(return)
戻り値なし
戻り値はありません