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