首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >这是一个PHP的preg_match错误,还是我做错了什么?

这是一个PHP的preg_match错误,还是我做错了什么?
EN

Stack Overflow用户
提问于 2011-12-23 17:45:00
回答 1查看 694关注 0票数 1

我使用以下正则表达式来匹配有效的域名:/^([a-z0-9]([a-z0-9]*-*[a-z0-9])*\.)+[a-z][a-z]+$/

这可以很好地工作。但是,当我用一个域名替换它的一部分,以匹配域名本身和它的子域时,它不起作用。例如,如果我使用/^([a-z0-9]([a-z0-9]*-*[a-z0-9])*\.)*mycarbrokedown.be$/

为了匹配ns1.mycarbrokedown.be,preg_match返回0。

我已经使用了几个在线测试程序,它们确认我的正则表达式确实与我的字符串匹配。奇怪的是,当我使用preg选项时,regextester.com没有返回任何内容。

所有这些让我认为这是PHP中的一个bug。因为我不知道是什么导致了这个bug,所以我还没能找到匹配的bug报告。

这里发生了什么事?

EN

回答 1

Stack Overflow用户

发布于 2011-12-23 18:23:57

请尝试这个正则表达式,并让我知道结果。可能在字符串的前面/结尾有空格或其他东西,这就是它不匹配的原因,所以我删除了^和&。这也是一个来自RegexBuddy库的正则表达式。

代码语言:javascript
复制
preg_match_all('/([a-z0-9]+(-[a-z0-9]+)*\.)+[a-z]{2,}/i', $subject, $result, PREG_PATTERN_ORDER);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8614454

复制
相关文章

相似问题

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