加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

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,第四章 字符串,正则表达式

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读