转义字符问题
来源:3-3 编程练习
慕仰5025445
2020-09-11 13:43:58
这种方法var pattern1=new RegExp('\\.');为什么加两个反斜杠,看其他回答是 使用第二个反斜杠将第一个反斜杠转义为普通反斜杠, 那不就是找的\. 吗?可是需求要求找 . 呀,
1回答
好帮手慕星星
2020-09-11
同学你好,因为“.”在正则中表示匹配除“\n”和"\r"之外的任何单个字符。例如
我们需要的是字符串中的点,而不是任意字符。所以需要\进行转义
而在new RegExp('')中比较特殊,参数为字符串形式,一个\表示转义,输出的正则为
和我们使用字面量写点是一样的,还是匹配任意字符。所以需要再加一个\,将第一个\转义为普通\,不表示转义。这样输出的正则是正确的
自己测试理解下,祝学习愉快!
相似问题