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);   
}  

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对应上面,转为相应的大写

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值