JavaScript:为什么这种形式写的正则有的字符需要转义,有的不需要呢?

原正则表达式:^\d*$JavaScript中的正则表达式:newRegExp("^\\d*$");为什么反斜杠就需要转义,^、*、$就没进行转义呢?... 原正则表达式:^\d*$
JavaScript中的正则表达式:new RegExp("^\\d*$");

为什么反斜杠就需要转义,^、*、$就没进行转义呢?
展开
 我来答
帐号已注销
2014-03-31 · TA获得超过323个赞
知道答主
回答量:35
采纳率:50%
帮助的人:30万
展开全部
$是需要转义的
^也需要转义
*也是
为什么说不需要转义呢?
不转义的话$会被认为成结束标记,^会被认为是开始标记 或 与[]组成不包含标记,*表示成匹配0次或多次。
除非,除非啊,你用的是中文字符^$*。
不信?你自己写个小页面试试
追问
大哥您这回答小弟领会不了啊
追答
对的。作为RegExp的构造参数的话是要传字符串的,是要带(反斜线和字母)\d的真实字符串,或者你可以在字条串前加@"\d"也可以。这样就不用转义了。
灵葬外与他29
2014-03-31 · TA获得超过2183个赞
知道小有建树答主
回答量:1221
采纳率:50%
帮助的人:944万
展开全部
这个并不是在正则里面才需要转意
而是字符串转意。
在字符串里面要表示一个\字符,需要写成\\
所以你想定义一个字符串值为\时要这么写
var str = "\\";
而正则表达式里面\d为数字
这里用到了\字符,\要写成\\
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
魔秋非户往科吗9326
2014-03-31
知道答主
回答量:27
采纳率:0%
帮助的人:12.6万
展开全部
说简单点:需要转义的字符,在字符串中都有特殊的含义,比如\n,\r等等,\可以其他的字符组成而变成其他的字符,所以当你想单纯的表示一个\的时候,就需要两个\,正则中需要转义的字符有:

* . ? + $ ^ [ ] ( ) { } | \ /
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式