JavaScript正则表达式19例(11)

本文通过一个具体的正则表达式示例介绍了如何使用非捕获组进行匹配。示例中,即使字符串匹配成功,由于使用了非捕获组(?:...),所以不会产生被捕获的子串,导致全局对象RegExp的$1属性为空。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

(……续例10)

例11:非捕获组匹配


  1. void function reg_11()  
  2. {  
  3.     var s = "Live for nothing";  
  4.     var r = /^Live for no(?:[a-z]{5})$/g;  
  5.     if (r.exec(s) != null)  
  6.     {  
  7.         alert("全局捕获组1: " + RegExp.$1);  
  8.     }  

但s与r匹配时,r中的()符号会生成一个捕获组,即thing字符串,但这里使用了?:符号,使得这个组是一个非捕获组。
因此,虽然if判定为真,但全局对象RegExp的$1属性却为空。

(未完待续……)










本文转自 BlackAlpha 51CTO博客,原文链接:http://blog.51cto.com/mengliao/468084,如需转载请自行联系原作者
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值