javascript 正则表达式的双重转义

字面量模式 /\.at/

构造函数模式 "\\.at"

字面量模式的转义可以理解,通过一个反斜杠将点转为字符形式。
但构造函数模式为什么需要两个反斜杠呢?只写一个反斜杠是什么意思呢?

因为java的正则表达式在是字符串里的,\是java字符串中的转义符。\也是正则表达式中的转义符。那么只加一个\的话,只能说明在字符串中转义符,而java需要进一步把普通字符串中的\变成正则表达式中的\,像是更深一则转化的意思,这样\\以后的意思是正则表达式中的转义符(\)。
要把\把变成正则表达式中的\,所以\\是转义了一个\
我的回答简而言之,在java中(别的语言有别的规矩),正则表达式字符串,和普通字串是两个东西。追问

复制粘贴的水平不错

温馨提示:答案为网友推荐,仅供参考
第1个回答  2016-12-13
因为Js的正则表达式是在字符串里的,“\”是Js字符串中的转义符,“\”也是正则表达式中的转义符。
那么只加一个“\”的话,只能说明在字符串中转义符,而Js需要进一步把普通字符串中的“\”变成正则表达式中的“\”,像是更深一层转化的意思,这样“\\”以后的意思是正则表达式中的转义符“\”。本回答被网友采纳
相似回答