$是需要转义的
^也需要转义
*也是
为什么说不需要转义呢?
不转义的话$会被认为成结束标记,^会被认为是开始标记 或 与[]组成不包含标记,*表示成匹配0次或多次。
除非,除非啊,你用的是中文字符^$*。
不信?你自己写个小页面试试
这个并不是在正则里面才需要转意
而是字符串转意。
在字符串里面要表示一个\字符,需要写成\\
所以你想定义一个字符串值为\时要这么写
var str = "\\";
而正则表达式里面\d为数字
这里用到了\字符,\要写成\\
说简单点:需要转义的字符,在字符串中都有特殊的含义,比如\n,\r等等,\可以其他的字符组成而变成其他的字符,所以当你想单纯的表示一个\的时候,就需要两个\,正则中需要转义的字符有:
* . ? + $ ^ [ ] ( ) { } | \ /