试图用正则表达式获取基本URL

时间:2011-05-10 04:40:28

标签: php regex pattern-matching

我需要匹配“基础”网址,我的意思是:

Not match --> http://google.com
Not match --> http://www.google.com
Not match --> www.google.com
Match! --> google.com

我试图使用背后的负面看法来确保没有http://或www,但它似乎无法正常工作。

1 个答案:

答案 0 :(得分:3)

这只需要一个正则表达式吗?

您可以拥有与找到的所有网址匹配的第一个正则表达式。这样的事情:

\b.+?\.\w{2,4}\b

然后过滤所有匹配并保留与以下内容不匹配的匹配项:

^(http://|www)

虽然说实话,我不会使用正则表达式,除非它是绝对必要的。

注意:
您始终可以找到更好的正则表达式来匹配URL。这里的问题是它们可能不是以http://www开头,因此我们无法限制正则表达式。准备好进行其他不是网址的匹配,例如:

yesterday.but

中的

I was there yesterday.but no one saw me