正则表达式问题??? 没学过PHP,以下解释可能有出入如果和javascript的一致,i 应该表示忽略大小写,另外 g 表示匹配全部[^\/] 表示不是 / 的任意字符+ 表示前面的式子至少出现一次那个 ! 应该是表示正则表达式结束吧(猜的) 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 ("!(http\:\/\/?)([^\/]+)!i", 里面的!i分别表示什么???在书上找不到?----- i 表示([i]gnore)忽略大小写 ,即 HTTP:// .. 的也可以匹配([^\/]+)!i 这个表示什么??怎么匹配?? 正则看了很多次还是很模糊,郁闷啊!!----- ([^\/]+) 是一部分,而 "!"是正则模式的边界符。就是红色部分,!(http\:\/\/?)([^\/]+)!i但是前后要匹配。这里可以一般用 "/",但是应为目标串里有 http:// 之类的字符,为了避免转义,就用了 !,当然你还可以用 "%", "|",等,比较灵活。但是前后要匹配。最后,对url的解析,其实php已经有个很好用的内置函数parse_url() 了,为啥不用它呢:) [^\/]这不是表示匹配以/开头的字符传吗?怎么返回给数组的?怎么会得到Array ( [0] => http://www.php.net [1] => http:// [2] => www.php.net ) ^ 可以表示字符串开始,也可以表示取反[^\/] 就是取反而得到数组,是因为加了括号后分组的原因第一组:默认为整个表达式第二:!(http\:\/\/?)([^\/]+)!i第三:!(http\:\/\/?)([^\/]+)!i !-是开始和结束的分界符,但长用/.../来表示i-意思是忽略大小写...即不考虑大小写情况!祝LZ好运! 如何利用PDO实现公交换乘 RSS的XML结构都是统一的吗? php?action=中是用switch还是if??? strict standards错误,求救 php iconv('UTF-8','GB2312',$str)函数问题 怎样获得最后一个数组的下标 zendstudio CVS问题.. dedeSQL存储数据代码 好象不少人在弄winbinder,讨论一下好吗? 求助,上传doc 和 excel文件 关于PHP会话问题,请教高手 file_get_contents 出错 allow_url_fopen = On已经设置成成了(内网可以,外网不行)
----- i 表示([i]gnore)忽略大小写 ,即 HTTP:// .. 的也可以匹配([^\/]+)!i 这个表示什么??怎么匹配?? 正则看了很多次还是很模糊,郁闷啊!!
----- ([^\/]+) 是一部分,而 "!"是正则模式的边界符。
就是红色部分,!(http\:\/\/?)([^\/]+)!i
但是前后要匹配。这里可以一般用 "/",但是应为目标串里有 http:// 之类的字符,为了避免转义,就用了 !,
当然你还可以用 "%", "|",等,比较灵活。但是前后要匹配。最后,对url的解析,其实php已经有个很好用的内置函数parse_url() 了,为啥不用它呢:)
(
[0] => http://www.php.net
[1] => http://
[2] => www.php.net
)
[^\/] 就是取反而得到数组,是因为加了括号后分组的原因
第一组:默认为整个表达式
第二:!(http\:\/\/?)([^\/]+)!i
第三:!(http\:\/\/?)([^\/]+)!i
i-意思是忽略大小写...即不考虑大小写情况!祝LZ好运!