我尝试了多个正则表达式,但仍然提取包含网址的行。
$fields=array(
":regexp"=>"/(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/"
);
$foo=$sql->prepare("SELECT * FROM names WHERE name NOT REGEXP :regexp");
$foo->execute($fields);
答案 0 :(得分:2)
试用正则表达式.*?:\/\/[^ ]*?\.[^ ]*
答案 1 :(得分:-1)
/
分隔符。
另外,如果您只测试常见网址的存在,为什么域名部分不足够?
'[a-z]+://([a-z0-9]+(-+[a-z0-9]+)*\.)+[a-z]{2,}'