首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么我会得到这个RegEx分组?

为什么我会得到这个RegEx分组?
EN

Stack Overflow用户
提问于 2012-03-20 07:52:44
回答 1查看 84关注 0票数 1

我编写了这个RegEx来提取电子邮件:

代码语言:javascript
复制
(\w+)\s*(?:@|(at)|(\s*at\s*)|(\(at\)))\s*((\w+)(?:\.|\s*dot\s*)(\w+)*(?:\.|\s*dot\s*)*)+com

我的要求是域名可以有两种形式: domain.com或sub.domain.com

运行它会显示总组数为7

适用于:

user@domain.com

组0,user@domain.com

组1,用户

组2,空

组3,空

组4,空

组5,域。

组6,域

为什么我会得到这个“集群”?所有我想要的是提取用户名和域名。

EN

回答 1

Stack Overflow用户

发布于 2012-03-20 08:10:50

每对括号都会在您的模式中添加一个新组。简单地说,你并不需要所有的它们。我试过这个表达:

代码语言:javascript
复制
(\w+[\.\w+]*)\s*(?:@|at|\s*at\s*|\(at\))\s*(\w+(?:\.|\s*dot\s*)\w+*(?:\.|\s*dot\s*)*)+com

它可以正确匹配:

代码语言:javascript
复制
john.smith@sub.domain.com
\1: john.smith
\2: sub.domain

john.smith@domain.com
\1: john.smith
\2: domain

代码语言:javascript
复制
johnsmith@domain.com
\1: johnsmith
\2: domain
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9779645

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档