一直不明白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没有,空。