javascript正则表达式之$1...$9

来源:互联网 发布:linux根目录是什么 编辑:程序博客网 时间:2024/06/03 22:55
一直不明白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没有,空。

 

大小写转换的元字符:
    \E :结束\L或\U转换
    \l :把下一个字符转换为小写
    \L :把\L到\E之间的字符全部转换为小写
    \u 和 \U对应上面,转为相应的大写