日期:2014-05-16  浏览次数:20369 次

javascript正则表达式之$1...$9
一直不明白JS正则$1...$9是什么用途。
写个小例子,频频报错:
1、引用 $1...$9 ,是通过 RegExp 来的,而不是新建立的RegExp对象名;
2、你创建的正则对象,被 括弧 括起来的部分,从左到右,依次是$1...$9 ,
    这说明,没有括弧,你也甭想通过,RegExp.$1...$9,拿到任何东西;
下面例子是从javascript帮助文档摘抄的:
function matchDemo(){
   var s;
   var re = new RegExp("d(b+)(d)","ig");
   var str = "cdbBdbsbdbdz";
   var arr = re.exec(str);
   s = "$1 contains: " + RegExp.$1 + "\n";
   s += "$2 contains: " + RegExp.$2 + "\n";
   s += "$3 contains: " + RegExp.$3;
   return(s);
}

上面例子运行结果:

$1是第一个括弧中的(b+)大小写忽略,所以是 bB
$2是第二个括弧中的(d),d
$3没有,空。