php - 尝试使用正则表达式获取基本 url

标签 php regex pattern-matching

我需要匹配“基本”url,我的意思是:

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

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

最佳答案

是否必须只使用一个正则表达式?

您可以拥有第一个匹配所有找到的 URL 的正则表达式。类似的东西:

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

然后过滤掉所有的匹配,保留不匹配的:

^(http://|www)

老实说,除非绝对必要,否则我不会使用 Regex。

注意:
您总能找到更好的正则表达式来匹配 URL。这里的问题是它们不能以 http://www 开头,所以我们不能对正则表达式限制太多。准备好接受其他根本不是 url 的匹配项,例如:

昨天。但是 昨天我在那儿。但是没人看见我

关于php - 尝试使用正则表达式获取基本 url,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5945229/

相关文章:

php - 通过ajax表单发送id

php - MySQL 查询对结果进行分组

c++ - C++中解析数组索引表达式的正则表达式

python - 如何在 re 中有两个模式

java - Java中的instanceof模式匹配,不编译

functional-programming - 反汇编数据类型 ocaml

PHP:无法声明类,因为名称已在使用中

php - 正则表达式工作不正常

java - 英国邮政编码的正则表达式也匹配 UUID

scala - 如何使用延迟初始化对元组进行模式匹配?