トップページ > JavaScriptリファレンス > RegExp.$1-$9

★JavaScriptリファレンス

RegExp.$1-$9 …… 正規表現に含まれる括弧内のパターンにマッチした部分を返す
Internet Explorer Google Chrome Safari Firefox Opera
広告

RegExpオブジェクトの$1-$9は、正規表現に含まれる括弧内のパターンにマッチした部分を返します。

RegExpオブジェクトにおける$1、$2、$3、$4、$5、$6、$7、$8、$9は、特別な変数となります。 1~9の数値は、1番目の括弧・2番目の括弧・3番目の括弧...という具合に括弧が現れる順番に対応しています。

例えば、/(.*)(ball)(\s)(.*)/ という正規表現に対して「Baseball News」という文字列をマッチさせる場合、 1番目の括弧 (.*) は「任意の文字列」というパターンなので「Base」の部分がマッチします。 2番目の括弧 (ball) は「"ball"という文字列」というパターンなので「ball」の部分がマッチします。 3番目の括弧 (\s) は「半角スペースなど」というパターンなので「Baseball」と「News」の間の半角スペースの部分がマッチします 4番目の括弧 (.*) は「任意の文字列」というパターンなので「News」の部分がマッチします。 そして、特別な変数である$1、$2、$3、$4には、それぞれ「Base」「ball」「 」「News」が代入されます。

仮に、/(.*)(ball)(\s)(.*)/ という正規表現はそのままに、対象文字列を「Volleyball Player」に変更した場合、 $1、$2、$3、$4には、それぞれ「Volley」「ball」「 」「Player」が代入されます。

仮に、正規表現を /(.*)ball (.*)/ と変更して「Volleyball Player」という文字列をマッチさせた場合、 $1、$2には、それぞれ「Volley」「Player」が代入され、$3、$4には何も代入されません。

■構文・引数・戻り値

構文
RegExp.$1
RegExp.$2
RegExp.$3
RegExp.$4
RegExp.$5
RegExp.$6
RegExp.$7
RegExp.$8
RegExp.$9
戻り値
正規表現に含まれるn番目の括弧内のパターンにマッチした部分

■使用例

HTML + JavaScriptソース

<script>
var reObj = new RegExp(/(.*)(ball)(\s)(.*)/);
reObj.test("Baseball News");
document.write("<h5>正規表現 /(.*)(ball)(\s)(.*)/ で、文字列 Baseball News の場合</h5>");
document.write("<div>$1の値:「"  + RegExp.$1 + "」</div>");
document.write("<div>$2の値:「"  + RegExp.$2 + "」</div>");
document.write("<div>$3の値:「"  + RegExp.$3 + "」</div>");
document.write("<div>$4の値:「"  + RegExp.$4 + "」</div>");

reObj.test("Volleyball Player");
document.write("<h5>正規表現 /(.*)(ball)(\s)(.*)/ で、文字列 Volleyball Player の場合</h5>");
document.write("<div>$1の値:「"  + RegExp.$1 + "」</div>");
document.write("<div>$2の値:「"  + RegExp.$2 + "」</div>");
document.write("<div>$3の値:「"  + RegExp.$3 + "」</div>");
document.write("<div>$4の値:「"  + RegExp.$4 + "」</div>");

var reObj = new RegExp(/(.*)ball (.*)/);
reObj.test("Volleyball Player");
document.write("<h5>正規表現 /(.*)ball (.*)/ で、文字列 Volleyball Player の場合</h5>");
document.write("<div>$1の値:「"  + RegExp.$1 + "」</div>");
document.write("<div>$2の値:「"  + RegExp.$2 + "」</div>");
document.write("<div>$3の値:「"  + RegExp.$3 + "」</div>");
document.write("<div>$4の値:「"  + RegExp.$4 + "」</div>");
</script>
↓↓↓

ブラウザ上の表示

■関連項目

RegExp.global …… グローバルマッチかどうかを返す
RegExp.ignoreCase …… 大文字と小文字の違いを無視するかどうかを返す
RegExp.multiline …… 改行コードを認識して複数行として扱うかどうかを返す

RegExp.source …… 正規表現のソース(指定内容)を返す
RegExp.input …… 検索対象の文字列を設定・参照する
RegExp.lastIndex …… 検索で一致した部分に続く次の文字の開始位置を返す
RegExp.lastParen …… 最後に ( ~ ) の条件にマッチした文字列を返す
RegExp.$1-$9 …… 正規表現に含まれる括弧内のパターンにマッチした部分を返す

RegExp.lastMatch …… 最後にマッチした文字列を返す
RegExp.leftContext …… 直前にマッチした部分の左側の文字列を返す
RegExp.rightContext …… 直前にマッチした部分の右側の文字列を返す

RegExp.test() …… 指定した文字列が正規表現にマッチするかどうかを返す
RegExp.exec() …… 指定した文字列に対して検索を実行する
RegExp.compile() …… 正規表現の内容を設定する
広告
Sponsors
広告
MuuMuu Domain!
ドメイン取るならお名前.com
さくらのレンタルサーバ
ロリポップ!レンタルサーバー
Google Apps Scriptコース
Node.jsコース
はじめてのプログラミングコース
▲ページ先頭へ
HTMLクイックリファレンスについて
© HTMQ