首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我想要一个正则表达式,它只匹配域名中的一个句点

问我想要一个正则表达式,它只匹配域名中的一个句点
EN

Stack Overflow用户
提问于 2012-05-22 00:08:26
回答 2查看 490关注 0票数 0

我希望它能捕获像somedomain.com/folder/path这样的东西,而不是像domain.sub.other.com这样的东西。到目前为止,我的正则表达式几乎完成了,它只是没有筛选出多域urls:

代码语言:javascript
复制
^(.*)://(?!(.{2,3})\.(.*)(.{2,3})(.*)

有没有办法筛选出多个期间?

EN

回答 2

Stack Overflow用户

发布于 2012-05-22 00:10:53

你想要的不是.{2,3},而是这样:[^.]{2,3} -它从那个特定的匹配中排除句点(不需要转义,因为它在正则表达式中在上下文中没有特殊意义)。总的来说,你会有类似这样的东西:

代码语言:javascript
复制
://[^.]+\.[^.]{2,3}(/.*)?

除非很明显你这样做会错过像*.info这样的东西……

票数 0
EN

Stack Overflow用户

发布于 2012-05-24 04:05:24

在给定各种测试场景的情况下,找到了一个工作正常的解决方案:

代码语言:javascript
复制
^(.*)://([^.]+)\.([^(\?|/|\r|\n|\.)]+)((/|\?|$)+)(.*)$

在这里,倒数第二个组与可能的正斜杠、问号或字符串结尾进行匹配,与它之前的组一起工作,这不允许包含‘’的匹配。

所以最后的效果是,它只匹配包含两部分域名的URL,例如'domain.com‘,并且对字符串长度没有任何限制。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10688708

复制
相关文章

相似问题

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