php正则表达式(1)2011/9/10

正则表达式的主要作用:分割、匹配、查找、替换

Php中两个常用的两个正则函数:

1.       preg_match 正则函数,以perl语言为基础

preg_match ( mode, string subject , array matches )

 

2.       ereg 正则函数,以POSIX基础 Unix Script

 ereg ( mode, string subject , array regs )

 

正则表达式中的元素:

1.       原子(普通字符:a-z A-Z 0-9 、原子表、 转义字符

2.       元字符 (有特殊功能的字符)

3.       模式修正符 (系统内置部分字符 i mSU…

 

正则表达式中的原子:

1.       a-z A-Z _ 0-9  //最常见的字符

2.       (abc) (skd)  //用圆括号包含起来的单元符号,即必须有abcskd才能匹配

3.       [abcs] [^abd] //用方括号包含的原子表,即只要[]中的任何一个字符就能匹配,原子表中的^代表排除或相反内容

4.       转义字符(很多,用到时可以上网查看)

 <?php

header("Content-Type:text/html;charset=UTF-8");

$mode="/m(a)(chinese)(s)/";//作为一个整体来匹配,放入内存中

$mode1="/I[abc]/";//只要其中一个匹配就行

$mode2="/[^abc]/";//除了[]内的才能匹配

$str="Iamachineses Ib ";

 

//preg_match() 在第一次匹配之后将停止搜索,所以只能输出一个匹配

if(preg_match($mode,$str,$arr))

{

    echo "匹配成功".$arr[0]."<br/>";

   

   

}

else

{

    echo "匹配不成功"."<br/>";

}

//preg_match_all()是会一直搜索到$str的结尾处

if(preg_match_all($mode1,$str,$arr))

{

    echo "匹配成功"."  ";

    print_r($arr);

    echo "<br/>";

   

   

}

else

{

    echo "匹配不成功"."<br/>";

}

if(preg_match($mode2,$str,$arr))

{

    echo "匹配成功".$arr[0]."<br/>";

}

else

{

    echo "匹配不成功"."<br/>";

}

运行结果:

匹配成功machineses
匹配成功
Array ( [0] => Array ( [0] => Ia [1] => Ib ) )
匹配成功I

 

posted @ 2011-09-10 21:28  戴月耿  阅读(339)  评论(1)    收藏  举报