一个正则问题
 发布于 8 年前  作者 wtcsy  4852 次预览  最后一次回复是 8 年前  来自 问答 

需要字符串转正则 用的new RegExp

var rule ="\d+"
var reg = new RegExp(rule)

这么转有问题 \ 这样的东西都会不见 这个各位是怎么解决的 rule是动态的正则表达式

11 回复
nullcc

var rule ="\\d+"

Qiubaowei

js字符串中的“\”是一个转义字符,因此,使用显式构造函数创建RegExp实例对象时,应将原始正则表达式中的“\”用“\”替换

Qiubaowei

用“\”替换 为啥少了一个。

wtcsy

var rule ="\d+" rule是动态的

wtcsy

我也想把’\d’ 转成 ‘\d’ 怎转 没试成功

DevinXian

javascript里面字符串\被用来做转义,会结合后面的字符去判断是不是转义字符,显然\d不是转义字符,因此直接忽略掉了。说白了,字符串"\d"表达的不是两个字符,而是一个的意思

wtcsy

String.raw貌似可以呀

wtcsy

不过我传的字符串是 var a=“str” 我怎么把一个位置的字符串转成str这种形式了