new RegExp(“^\\d*$“)与/^\d*$/之间区别

正则表达式与字符串匹配
本文探讨了JavaScript中使用new RegExp创建正则表达式时的转义问题。通过示例1和2展示了如何正确创建匹配整数的正则,其中双反斜杠的使用至关重要。示例3直接使用正则字面量创建的表达式则没有此问题。最后,文章提到了newRegExp在双引号中会导致额外的转义,影响正则表达式的解析。

在这里插入图片描述

1. 使用new RegExp"^\d+$" 
   a = new RegExp("^\d+$")  //   /^d+$/
   a.test(12132) // false
   
2. 使用new RegExp"^\\d+$" 
   b = new RegExp("^\\d+$")  //   /^\d+$/
   b.test(12132) // true
   
3. c = /^\d+$/
   c.test(12132) // true
   
4. e = new RegExp("^\\\\d+$")  //   /^\\d+$/

5. f = new RegExp("^\\\\\d+$")  //   /^\\d+$/

6. g = f = new RegExp("^\\\\\\d+$")  //   /^\\\d+$/

new RegExp() 加双引号形式把会多转义一次。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值