关于正则表达式的语法课件.ppt
文本预览下载声明
正则表达式的拆分 preg_split()//通过一个模版去拆分 函数原型: array preg_split (string $pattern,string $string[,int $limit[,int flags]]) 本函数返回一个字符串数组,每个单元为$string经正则表达式$pattern作为边界分割出的子串。如果设定了$limit,则返回的数组最多包含$limit个单元。而其中最后一个单元包含了$string中剩余的所有部分。 flags可选参数: PREG_SPLIT_NO_EMPTY:只返回非空的成分 // PREG_SPLIT_DELIM_CAPTURE :定界符模式中的括号表达式也会被捕获并返回 //返回单元 PREG_SPLIT_OFFSET_CAPTURE :对每个出现的匹配结果也同时返回其附属的字符串偏移量 // preg_split() ?php $seek = array(); $text = I have a dream that one day I can make it. So just do it, nothing is impossible!; //将字符串按空白,标点符号拆分(每个标点后也可能跟有空格) $words = preg_split(/[.,;!\s]\s*/, $text); $seek=array_count_values($words); //单词出现的频率 echo 共有大约 .count($words). 个单词。; echo 其中共有 .$seek[I]. 个单词“I”。; ? 将字符串分割成字符 ?php$str = string;$chars = preg_split(//, $str, -1, PREG_SPLIT_NO_EMPTY);print_r($chars);? 将字符串分割为匹配项及其偏移量 ?php$str = hypertext language programming;$chars = preg_split(/ /, $str, -1, PREG_SPLIT_OFFSET_CAPTURE);print_r($chars);? 正则表达式的替换 preg_replace()//str_replace//把符合模版的全部替换 函数原形: mixed preg_replace(mixed $patten,mixed $replacement,mixed $subject[,int $limit]) preg_replace其前三个参数均可以使用数组;第四个参数$limit可以设置替换的次数,默认为全部替换。 ?php //字符串 $string = Name: {Name}br\nEmail: {Email}br\nAddress: {Address}br\n; //模式 $patterns =array( /{Address}/, /{Name}/, /{Email}/ ); //替换字串 $replacements = array ( No.5, Wilson St., New York, U.S.A, Thomas Ching, tom@, ); //输出模式替换结果 print preg_replace($patterns, $replacements, $string); ? POSIX正则表达式 POSIX正则表达式全称为Portable Operating System Interface of Unix,意为UNIX可移植操作系实现接口。 构造POSIX正则表达式的方法和创建数学表达式的方法一样,也就是用多种元字符与操作符将小的表达式结合在一起来创建更大的表达式。 POSIX风格预定义的正则表达式的字符类: [[:alnum:]] 字母和数字字符 [[:alpha:]] 大小写字母 [[:lower:]] 小写字母 [[:upper:]] 大写字母 [[:digit:]] 数字0-9 [[:xdigit:]] 十六进制数字 [[:punct:]] 标点符号,包括上档键!@ [[:blank:]] TAB制表符和空格 [[:space:]] 任何空白字符,换行,回车符 [[:cntrl:]] 控制字符(TAB,退格) [a-zA-Z0-9] [0-9] [\t] [a-zA-Z] [a-z] [A-Z] [0-9a-fA-F] 特殊的[[:graph:]]是[[:alpha:
显示全部