JavaScript中正则表达式(零宽度正回顾后发断言)
2013-01-15 21:30
295 查看
零宽度正回顾后发断言
今天在做邮箱email处理时,遇到个问题,在此记录一下,一个email的例子如下abc@qq.com,我想取得qq这个公司的名称,查找正则表达式,我想到了用零宽度正回顾后发断言,和零宽度正回顾先发断言的组合来实现
代码如下:
script type="text/javascript">
var objStr="abc@qq.com";
var reg=/(?<=\@)\w+(?=\.)/i;
var arr=reg.exec(objStr);
for(var i=0;i<arr.length;i++)
{
alert(arr[i]);
}
</script>
可是当我执行代码时却遇到了问题,提示我有语法错误,说正则表达式有误,我百思不得其解,后来网上查看了一下,才发现原来是(?<=)零宽度正回顾后发断言在javascript中是不支持的,所以要得到qq这个字段就要想其他办法。
我的办法是:
script type="text/javascript">
var objStr="abc@qq.com";
var reg=/\@\w+(?=\.)/i;
var arr=reg.exec(objStr);
var regnext=/[^\@]\w+/i;
var arr=regnext.exec(arr);
for(var i=0;i<arr.length;i++)
{
alert(arr[i]);
}
</script>
这样先通过获得@qq,在去掉@来获得,可以肯定的是,一定还有更好的办法来实现这个功能,如果您有好的建议,希望我能得到您的指点,不胜感激。
相关文章推荐
- regex 正则表达式零宽度正预测先行断言 and 零宽度正回顾后发断言
- JavaScript正则表达式的零宽断言
- JAVASCRIPT 正则表达式学习-->基础与零宽断言(转自司徒正美)
- 正则表达式零宽度正预测先行断言?=
- javascript 正则表达式-零宽断言
- 教你怎么理解正则表达式之零宽断言(环视)
- Python正则表达式中的 零宽断言 …
- 正则表达式零宽断言详解
- 正则表达之零宽断言(零宽度正预测先行断言)
- 正则表达之零宽断言(零宽度正预测先行断言)
- 正则表达式 零宽断言 负向零宽断言 平衡组/递归匹配
- 教你怎么理解正则表达式之零宽断言(环视)
- 正则表达式-零宽断言
- 对正则表达式零宽断言的个人理解(Java测试下)
- C#正则表达式反向零宽断言(用于排除特定的值)
- 正则表达式–零宽断言-赵兴壮
- 用正则表达式(零宽断言)去除字符串中重复的字符
- 预搜索(零宽断言)正则表达式
- Java正则表达式 预搜索(零宽断言)详解(精)