繁体   English   中英

我需要一个正则表达式,它将从文本文档中提取URL

[英]I need a regex that will pull a URL from a text document

我尝试提取的网址都是www.domain.com的格式。 我想用一个简单的正则表达式将它们从文本文档中拉出来。 它只需要匹配www.domain.com,而无需匹配其他网址变体。

与preg_match_all()一起使用的最简单的正则表达式是什么?

/w{3}\.\w{2,}\.\w{3}/

这将匹配www. 任何带有两个以上字母的单词dot + 3个字母

匹配带连字符或大写字母的域:

/w{3}\.[\w\-]{2,}\.\w{3}/i

我不会用PHP做很多事情,但是regex就像这样:

w{3}.([a-zA-Z0-9\~\!\@\#\$\%\^\&\*\(\)_\-\=\+\\\/\?\.\:\;\'\,]*)?

将返回以“ www。”开头的所有域名。 它将忽略标记的协议部分(例如http://

preg_match_all('%((mailto\\:|(news|(ht|f)tp(s?))\\://){1}\\S+)%m', $subject, $result, PREG_PATTERN_ORDER);
for ($i = 0; $i < count($result[0]); $i++) {
    // $result[0][$i];
}

如果您想轻松提取部分URL,也可以使用我编写的类https://github.com/homer6/altumo/blob/master/source/php/String/Url.php 有关用法,请参阅同一目录中的单元测试。

如果您正在寻找一个好的程序来调整您的regex模式,我强烈建议regexbuddy

希望有帮助...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM