php - 正则表达式匹配非 .com/.net 域?
问题描述
我们正在尝试匹配除 .com 和 .net 之外的任何域。如果用户在域名后列出 / 或添加空格,仍希望获得匹配。例如 bit.ly bit.ly/123 和 bit.ly(spaces) 应该都匹配。
我们尝试过:
.[az][az]$'
但是,当域名后面有任何空格或字符时,这不会显示匹配。
解决方案
我会使用:
https?://\S+?\.(?!com|net)[a-z]+(?:\s|/|$)
代码:
if (preg_match('~https?://\S+?\.(?!com|net)[a-z]+(?:\s|/|$)~')){
echo "Valid";
}
推荐阅读
- java - 你如何在 Jersey + Java 中返回来自特定索引的数组列表
- javascript - 为什么 execCommand('bold') 什么都不做?
- jquery - 在使用 Ajax 发布记录时,我收到消息:ActionController::ParameterMissing (param is missing or value is empty: player_bonuse)
- java - 为什么这个数组列表中的索引越界错误?
- d3.js - d3 v.4+ x 轴刻度标签在过渡时位置不正确
- sql - 有没有办法在 R 中自动格式化 SQL?
- string - 将字符串转换为列表
- angular - 将 RXJS do() 迁移到 tap()
- laravel-5 - 如何将 CURRENT_TIMESTAMP 设置为时间戳函数中的某个列?
- python - 如何在一个单独的文件中组织所有不同的参数