主机名上的preg_match

时间:2012-10-25 10:40:33

标签: php regex preg-match expression

我正在尝试创建一个与url中的hostname匹配的正则表达式。 我希望它能在主机名之后点击: - www.site.nl - site.nl

我希望它返回site.nl

我使用以下正则表达式: (?。(小于= WWW))。位点(?: NL |是| EU)

但是当我在something.site.nl上使用这个正则表达式时,它也会返回site.nl.这不是我想要的。 当site.nl之前没有任何内容或者有www时,我只想要匹配。在它之前。

我尝试了很多不同的表达方式,但无法弄清楚我是如何做到这一点的。

我希望我的问题很明确,你们可以帮助我。

2 个答案:

答案 0 :(得分:2)

^(?:www\.)?(site\.(?:nl|be|eu))$

应该有用。

(不要忘记RE中点的特殊含义......)

答案 1 :(得分:0)

请使用此:

/^(www\.)?(site\.(nl|be|eu))$/