源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

PHP学习之正则表达式

  • 时间:2020-12-23 17:45 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:PHP学习之正则表达式
现在我们大家所说的正则表达式基本上是指兼容Perl风格的正则表达式。POSIX风格的正则表达式基本上没人使用了,所以从PHP5.3起,已经不推荐使用了,可能到PHP的下一个版本就会把相关的函数删除。 关于正则表达式,因为太复杂,所以以后想专看一本正则的书,所以只介绍兼容Perl风格的正则表达式的一些函数。 [b]1. 定界符[/b] 定界符表示正则表达式的开始和结尾,一般用斜线(/)表示。在PHP中(其它语言暂时没有测试过),它也可以用其它的非数字字母的字符来代替。如/d+/和#d+#的表示同一个正则表达式d+。同时,也可以用小括号对,中括号对,大括号对做为定界符,如[d+]。 [b]2. 函数 [/b]匹配函数:preg_match(); 以及preg_match_all(); 替换函数:preg_replace(); 拆分函数:preg_split(); 过滤函数:preg_grep(); 示例代码:
[u]复制代码[/u] 代码如下:
$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+)/, $a, $match); // $ret : 2 // $match : array( // array(aaaaaaa 15′, bbbbbbb 16′), // array(bbbbbbb, bbbbbbb), // array(15′, 16′), // ) $ret = preg_match_all(/(w+) (d+)/, $a, $match, PREG_SET_ORDER); // $ret : 2 // $match : array( // array(aaaaaaa 15′, bbbbbbb, 15′), // array(bbbbbbb 16′, bbbbbbb, 16′), // ) $b = preg_replace(/(w+) (d+)/, 1, 2′, $a); // $b : aaaaaaa, 15 // bbbbbbb, 16′ $c = preg_split(/s/, $a); // $c : array(aaaaaaa, 15′, bbbbbbb, 16′) $files = array(aa.txt, bb.xls, cc.txt); $txtFiles = preg_grep(/.*.txt/, $files); // $txtFiles : array(aa.txt, cc.txt)
参考资料: PHP程序设计,2003,第四章 字符串,正则表达式
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部