PHP学习之正则表达式
发布时间:2020-12-13 05:52:01 所属栏目:PHP教程 来源:网络整理
导读:现在我们大家所说的正则表达式基本上是指兼容Perl风格的正则表达式。POSIX风格的正则表达式基本上没人使用了,所以从PHP5.3起,已经不推荐使用了,可能到PHP的下一个版本就会把相关的函数删除。 关于正则表达式,因为太复杂,所以以后想专看一本正则的书,所
现在我们大家所说的正则表达式基本上是指兼容Perl风格的正则表达式。POSIX风格的正则表达式基本上没人使用了,所以从PHP5.3起,已经不推荐使用了,可能到PHP的下一个版本就会把相关的函数删除。 关于正则表达式,因为太复杂,所以以后想专看一本正则的书,所以只介绍兼容Perl风格的正则表达式的一些函数。 1. 定界符定界符表示正则表达式的开始和结尾,一般用斜线(/)表示。在PHP中(其它语言暂时没有测试过),它也可以用其它的非数字字母的字符来代替。如/d+/和#d+#的表示同一个正则表达式d+。同时,也可以用小括号对,中括号对,大括号对做为定界符,如[d+]。 2. 函数 匹配函数:preg_match(); 以及preg_match_all(); 替换函数:preg_replace(); 拆分函数:preg_split(); 过滤函数:preg_grep(); 示例代码: <div class="codetitle"><a style="CURSOR: pointer" data="49457" class="copybut" id="copybut49457" onclick="doCopy('code49457')"> 代码如下:<div class="codebody" id="code49457"> $a = <<< TEXT aaaaaaa 15 bbbbbbb 16 TEXT; $ret = preg_match(/(w+) (d+)/,$a,$match); // $ret : 1 // $match : array(aaaaaaa 15′,aaaaaaa,15′) $ret = preg_match_all(/(w+) (d+)/,$match); // $ret : 2 // $match : array( // array(aaaaaaa 15′,bbbbbbb 16′), // array(bbbbbbb,bbbbbbb), // array(15′,16′), // ) $ret = preg_match_all(/(w+) (d+)/,$match,PREG_SET_ORDER); // $ret : 2 // $match : array( // array(aaaaaaa 15′,bbbbbbb,15′), // array(bbbbbbb 16′, // ) $b = preg_replace(/(w+) (d+)/,1,2′,$a); // $b : aaaaaaa,15 // bbbbbbb,16′ $c = preg_split(/s/,$a); // $c : array(aaaaaaa,15′,16′) $files = array(aa.txt,bb.xls,cc.txt); $txtFiles = preg_grep(/.*.txt/,$files); // $txtFiles : array(aa.txt,cc.txt) 参考资料: PHP程序设计,2003,第四章 字符串,正则表达式 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |