JS正则表达式问题

varchars="abc@foxmail.com";varret=/@(.*)\./.exec(chars);alert(ret[1]);1.(.*)是什么意思。2.\... var chars="abc@foxmail.com"; var ret=/@(.*)\./.exec(chars); alert(ret[1]); 1. (.*)是什么意思。 2. \.是什么意思 3. ret 中即为返回数组["@foxmail.", "foxmail"],为什么会是这两个 展开
 我来答
象晏盘田然
2020-02-25 · TA获得超过4061个赞
知道大有可为答主
回答量:3220
采纳率:34%
帮助的人:205万
展开全部
首先/@(.*)\./
这个是一个正则表达式(JS中正则表达式必须写在反斜杠
/
开始,反斜杠
/
结束的里面)。
1.表达式中括号里面的(.*)表示匹配任意数量的任何字符。
2.斜杠\表示转义字符,因为点.
在正则表达式里面有特殊意义(表示匹配任意单个字符),而这儿需要匹配的就是“abc@foxmail.com”中一个点.
字符,所以需要转义。
3.正则表达式/@(.*)\./执行exec方法后,将返回值以数组方式赋值给了ret。数组里面内容包含匹配到的总字符串及匹配到的分组字符串(正则表达式中的括号()代表分组)。
这儿你写的正则表达式/@(.*)\./,表示从@开始匹配,匹配@和@后面直到点.
之前的任意字符,当然也包括点.,所以匹配到的总字符串就是@foxmail.,分组字符串就是(.*)这一部分对应的foxmail字符串。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式