Movatterモバイル変換


[0]ホーム

URL:


  1. 開発者向けのウェブ技術
  2. JavaScript
  3. JavaScript リファレンス
  4. 標準組み込みオブジェクト
  5. RegExp
  6. $1, …, $9

このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docsコミュニティーについてもっと知り、仲間になるにはこちらから。

View in EnglishAlways switch to English

RegExp.$1, …, RegExp.$9

非推奨;: この機能は非推奨になりました。まだ対応しているブラウザーがあるかもしれませんが、すでに関連するウェブ標準から削除されているか、削除の手続き中であるか、互換性のためだけに残されている可能性があります。使用を避け、できれば既存のコードは更新してください。このページの下部にある互換性一覧表を見て判断してください。この機能は突然動作しなくなる可能性があることに注意してください。

メモ:グローバルに最後の一致状態を公開するRegExp の静的プロパティは、すべて非推奨です。詳しくは非推奨の RegExp 機能を参照してください。

RegExp.$1, …, RegExp.$9 は静的アクセサープロパティで、括弧で括られた部分文字列に一致したものを返します。

解説

$1$9RegExp の静的プロパティであり、常にRegExp.$1,RegExp.$2, のように扱います。作成したRegExp オブジェクトのプロパティとしては使用できません。

$1, …, $9 の値はRegExp の(ただしRegExp のサブクラスではない)インスタンスが一致に成功するたびに更新されます。一致したものがなかったか、最後に一致したものに対応するキャプチャグループがなかった場合、それぞれのプロパティは空文字列になります。それぞれのプロパティの設定アクセサーはundefined ですので、直接プロパティを変更することはできません。

括弧で括られた部分文字列の数に制限はありませんが、RegExp オブジェクトは最初の 9 つの部分文字列しか保持できません。返された配列のインデックスを使用すると、すべての括弧付き部分文字列にアクセスすることができます。

$1, …, $9String.prototype.replace() メソッドの置換テキストでも使用することができますが、古いRegExp.$n には関係しません。

$n と RegExp.prototype.test() の使用

次のスクリプトは、RegExp.prototype.test() メソッドを使用して、一般的な文字列で数値を取得しています。

js
const str = "Test 24";const number = /(\d+)/.test(str) ? RegExp.$1 : "0";number; // "24"

re.test(str) 呼び出しとRegExp.$n プロパティの間で他の正規表現を使用する操作は、副作用がある可能性があることに注意してください。そのため、これらの特殊なプロパティへのアクセスは即座に行うべきで、そうしないと予期せぬ結果になる可能性があります。

仕様書

Specification
Legacy RegExp features
# additional-properties-of-the-regexp-constructor

ブラウザーの互換性

関連情報

Help improve MDN

Learn how to contribute

This page was last modified on byMDN contributors.


[8]ページ先頭

©2009-2025 Movatter.jp