正则表达式匹配域

时间:2013-02-14 20:19:15

标签: regex pcre

我需要一个正则表达式来匹配以下域,如下所示:

http://www.cnn.com/fred      = www.cnn.com
cnn.com                      = cnn.com
www.cnn.com:8080             = www.cnn.com

我有以下正则表达式(使用pcre):

([^/]+://)?([^:/]+)

以上在情况2和3中工作正常但是1我仍然在匹配的字符串中附加了http://,是否有一个正则表达式选项可以用来跳过http部分?

非常感谢提前

2 个答案:

答案 0 :(得分:1)

这个应该符合您的需求:

^(?:(?:f|ht)tps?://)?([^/:]+)

第一组将包含您正在寻找的内容。

答案 1 :(得分:0)

这看起来像我最接近我想要的不完美,但似乎完成了工作

www?([^/:]+)