0
preg_match('/^(http:\\/\/)?(.+)\.MYDOMAIN\.com(.*)/', $url, $match)

这是我的正则表达式,用于验证必须具有子域的 URL,但如果有人使用www 而不是子域,它也会得到验证。例如:

  • http://shoes.en.MYDOMAIN.com/这必须通过

  • http://www.MYDOMAIN.com/这必须失败

如果子域是,我如何编辑我的正则表达式以失败www

4

3 回答 3

2

我认为你可以用一个否定的前瞻断言来做到这一点:(?!www\.)它被放置在协议检查之后,检查是否没有www.跟随开始或协议。

/^(http:\\\/\/)?(?!www\.)(.+)\.MYDOMAIN\.com(.*)/.test("www.MYDOMAIN.com")
于 2012-04-12T06:55:32.817 回答
0

如何首先使用您当前的解决方案验证域,然后使用第二个表达式检查 www:

(\.www\.|http:\/\/www\.|^www\.)
于 2012-04-12T07:23:30.437 回答
0

试试这个:测试了一点,似乎工作

preg_match('/^(http:\\/\/)?([^(www)]+)\.MYDOMAIN\.com(.*)/', $url, $match);
于 2012-04-12T06:40:17.477 回答