php正则表达式原子及元子表

时间: 2009-04-20  分类: 正则  收藏

正规字符:abcd..等;12345..等;

模式
    $mode="/dfjk/",
                      //"dfjk"就是原子;
                $mode="/\d/",
                     //"\d"就是原子;

原子
      \d 与任意一个数字匹配[0-9]
            //模式:$mode="/\d/",
                    //则被匹配字符中只要包含一个数字就匹配;
                    //如:'dfkjweognor9g'就与模式$mode匹配;
            再者://模式:$mode="/a\da/",
                    //则必需要两个a之间包含一个数字才匹配
                    //如:'dshfiefa9a'与模式匹配;
                    //而' dfidas9akdf'与模式不匹配;
      \D 与除了数字以外的任何一个字符匹配[^0-9]
      \w 与任意一个英文字母,数字或下划线匹配[a-zA-Z_]
      \W 除了字母,数字或下划线外与任何一个字符匹配[^a-zA-Z_]
      \s 与任意一个空白字符匹配[\n\f\r\t\v]
                  空白字符如下:
                        \f 换页字符;
                        \n 换行字符;
                        \r 回车字符;
                        \t 制表符;
                        \v 垂直制表符;
      \S 与除了空白符外任意一个字符匹配[^\n\f\r\t\v]
      \oNN 与任意一个8进制数匹配;
      \xNN 与任意一个16进制数匹配;
      \cC 与任意一个控制字符匹配;

元子表
    [ ] 只匹配其中的一个原子;
                模式为:$mode="/ae/";
                    //则字符串中必需包含ae才能匹配;
                模式为:$mode="/pr[ae]y/";
                    //则字符串"pr*y"中"*"(星号)是a或e都可匹配;
    [^]   只匹配"除了"其中字符的任意一个原子;
                模式为:$mode="/pr[^ae]y/";
                    //与pruy,prdy,pr*y等都匹配;
                    //与pray和prey这两个包含a和e的不匹配;
    [0-9] 匹配0-9任何一个数字;
    [a-z]  匹配小写a-z任何一个字母;
    [A-Z] 匹配大写A-Z任何一个字母;

 

?: 非捕获,只匹配不分配组

preg_match('/industr(?:ies|y)/','industries',$re); //只返回Array ([0] => industries)

preg_match('/industr(ies|y)/','industries',$re); //返回Array ([0] => industries [1] => ies )

分享到:

评论

昵 称: