使用正则表达式从文本中检测域

时间:2014-03-01 08:59:37

标签: regex url text dns find

我一直在使用preg_match从文本中找到这个模式的网址/(http|https|ftp|ftps)\:\/\/[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,3}(\/\S*)?/

检测域名而不是网址的任何其他解决方案?可能是这样的顶级域名列表: .asia .biz .cat .com .net .edu .gov .info .com.eu .com.au

//修改

例如,我有一个这样的段落:

Hello world。 https://stackoverflow.com/posts/22112284/edit

我想在该文本中找到此域 stackoverflow.com

1 个答案:

答案 0 :(得分:1)

如果您只想要域名,那么只需停在斜线上即可。事实上,你已经把它拿到那里,只是缩短它。我还在最后添加了另一个点,因为那里有一些奇怪的顶级域名(例如.info.mobi

(http|https|ftp|ftps)\:\/\/[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,4}