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"],为什么会是这两个
展开
 我来答
yxmichael
2012-05-14 · TA获得超过544个赞
知道小有建树答主
回答量:135
采纳率:100%
帮助的人:100万
展开全部
首先/@(.*)\./ 这个是一个正则表达式(JS中正则表达式必须写在反斜杠 / 开始,反斜杠 / 结束的里面)。
1.表达式中括号里面的(.*)表示匹配任意数量的任何字符。
2.斜杠\表示转义字符,因为点. 在正则表达式里面有特殊意义(表示匹配任意单个字符),而这儿需要匹配的就是“abc@foxmail.com”中一个点. 字符,所以需要转义。
3.正则表达式/@(.*)\./执行exec方法后,将返回值以数组方式赋值给了ret。数组里面内容包含匹配到的总字符串及匹配到的分组字符串(正则表达式中的括号()代表分组)。
这儿你写的正则表达式/@(.*)\./,表示从@开始匹配,匹配@和@后面直到点. 之前的任意字符,当然也包括点.,所以匹配到的总字符串就是@foxmail.,分组字符串就是(.*)这一部分对应的foxmail字符串。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式