JavaScriptの正規表現でmatchの結果を変数に入れずにグループ化した値を取り出す
[2008/10/29追記]
取説 正規表現を読んでみたらRegExpのプロパティはグローバル変数だから使わない方が良いのね。やっぱりいったん変数に入れよう。
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
JavaScript 第5版を読んで、いつも下のようにやってた。
var str = 'abcdefghi'; var result = str.match(/^ab(.*)hi$/); if (result != null) { alert(result[1]); }
いったんresultに入れて、もしマッチングしていたらグループ化したものを取り出すという感じ。
でも、下のようにマッチング結果を変数に一旦入れなくてもできる。
var str = 'abcdefghi'; if (str.match(/^ab(.*)hi$/)) { alert(RegExp.$1); }
覚書。