我说你看-DarkEyes

生活就像一条鞭子,不停地抽打我,要我前进,却又不肯告诉我寻找什么?! 百无聊奈,随意的涂鸦.写者无心,看客也就自便了,偶有所感,会心一笑即可:)

原创 preg_match 的用法收藏

大家一看到preg_match肯定会头痛的。。。其实没什么,下面我就尽力给还不明白的兄弟们争取讲明白了:
在这里我就不解释preg_match的说明了,朋友们可以通过php手册查看..先来个简单点的:

preg_match("/^(http:\/\/)?([^\/]+)/i",
"http://www.php.net/index.html", $matches);
$host = $matches[2];
// 从主机名中取得后面两段
preg_match("/[^\.\/]+\.[^\.\/]+$/", $host, $matches);
echo "domain name is: {$matches[0]}\n";

这是手册里的例子。多数人对preg_match犯晕都出在正则上,以后我也会介绍正则。先看这个例子,
preg_match($pattern,$string,$matcher)其中$pattern对应的就是”/^(http:\/\/)?([^\/]+)/i
$str 是http://www.php.net/index.html.$match是匹配到的结果。按照手册上的意思:
如果提供了 matches,则其会被搜索的结果所填充。$matches[0] 将包含与整个模式匹配的文本,$matches[1] 将包含与第一个捕获的括号中的子模式所匹配的文本,以此类推。
这是什么意思呢?第一句就不用解释了,$matches[0] 将包含与整个模式匹配的文本。
咱们用pring_r打印出来第一个$matches:
Array ( [0] => http://www.php.net [1] => http:// [2] => www.php.net )
这回明白了吧。。$matches[0] 将包含与整个模式匹配的文本,$matches[1] 将包含与第一个捕获的括号中的子模式所匹配的文本。在正则中,()代表模式:匹配 pattern 并获取这一匹配。所获取的匹配可以从产生的 Matches 集合得到,在VBScript 中使用 SubMatches 集合,在JScript 中则使用 $0…$9 属性。就是说数组中下标为1的值就是正则中/^(http:\/\/)?([^\/]+)/i第一个()里的值!数组下标2的值以此类推

发表于 @ 2006年10月20日 18:00:00|评论(loading...)|收藏

新一篇: linux/unix/bsd linux 文件系统精通指南  | 旧一篇: 一个应届毕业生的求职总结- -

用户操作
[即时聊天] [发私信] [加为好友]
DarkEyes
订阅我的博客
XML聚合  FeedSky
订阅到鲜果
订阅到Google
订阅到抓虾
DarkEyes的公告
人生走过的路!懵懂的人生!记录我心中的浮躁....... 人生中有很多东西是会忘记的,所以需要用文字记录下来。 写着卿以自慰的BLOG就如在黑暗的屋子里一个人躺在床上意淫自己心目中的女孩,满足了心理上的欲望,现实却依如昨日。 SL888258@163.COM MSN:SL888158@hotmail.com QQ:59725724
文章分类
收藏
    一些连接
    LINUX基础操作
    中国IC卡水表网
    中国IC卡水表网
    啸月孤狼
    啸月狼
    绿城晨风
    虫子的BLOG
    郑州英才网
    雷老大的BLOG
    存档
    软件项目交易
    Csdn Blog version 3.1a
    Copyright © DarkEyes