首页 >后端开发 >php教程 >正则表达式 排除

正则表达式 排除

WBOY
WBOY原创
2016-06-23 14:28:001979浏览

假若我现在有下面几行数据:

"你好,我是world"
"hello,my name is"
"地址是:http://www.baidu.com"

我想将 不包含“http”字符串的行提取出来,也就是前两行,该怎么写正则表达式呢?


回复讨论(解决方案)

先以换行分割为数组,再对数组过滤就行了。

嗯,思路我知道,现在我就是不知道正则表达式如何写
我用
'(?!http)'
去过滤,没有作用

嗯,思路我知道,现在我就是不知道正则表达式如何写
我用
'(?!http)'
去过滤,没有作用
临时想到的一个办法是:
preg_match_all('/\".*?(?:http.*?)\"/',$str,$math);
print_r($math);

获取出含有http的字符串行,然后再str_replace替换掉

要正则做什么,直接strpos 查找每个元素不就行了。

http://blog.sina.com.cn/s/blog_53df94780100crty.html
可以参与一下

正则排除一般都这样写
((?!要排除的字串).)+?

http://iregex.org/blog/negate-match.html

^(.(?!http))*$

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn