首页 > 资讯列表 > 编程/数据库 >> PHP

PHP学习之正则表达式使用说明

PHP 2014-12-07 14:24:15 转载来源: 网络整理/侵权必删

本文为大家讲解的是PHP学习之正则表达式使用说明,感兴趣的同学参考下。 PHP支持两种正则表达式,POSIX风格的正则表达式和兼容Perl风格的正则表达式

本文为大家讲解的是PHP习之正则表达式使用说明,感兴趣的同学参考下。

PHP支持两种正则表达式,POSIX风格的正则表达式和兼容Perl风格的正则表达式。
现在我们大家所说的正则表达式基本上是指兼容Perl风格的正则表达式。POSIX风格的正则表达式基本上没人使用了,所以从PHP5.3起,已经不推荐使用了,可能到PHP的下一个版本就会把相关的函数删除。

关于正则表达式,因为太复杂,所以以后想专看一本正则的书,所以只介绍兼容Perl风格的正则表达式的一些函数。

1. 定界符
定界符表示正则表达式的开始和结尾,一般用斜线(/)表示。在PHP中(其它语言暂时没有测试过),它也可以用其它的非数字字母的字符来代替。如/d+/和#d+#的表示同一个正则表达式d+。同时,也可以用小括号对,中括号对,大括号对做为定界符,如[d+]。

2. 函数
匹配函数:preg_match(); 以及preg_match_all();
替换函数:preg_replace();
拆分函数:preg_split();
过滤函数:preg_grep();

示例代码:


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


标签: PHP 习之 正则 表达式 使用说明


声明:本文内容来源自网络,文字、图片等素材版权属于原作者,平台转载素材出于传递更多信息,文章内容仅供参考与学习,切勿作为商业目的使用。如果侵害了您的合法权益,请您及时与我们联系,我们会在第一时间进行处理!我们尊重版权,也致力于保护版权,站搜网感谢您的分享!

站长搜索

http://www.adminso.com

Copyright @ 2007~2024 All Rights Reserved.

Powered By 站长搜索

打开手机扫描上面的二维码打开手机版


使用手机软件扫描微信二维码

关注我们可获取更多热点资讯

站长搜索目录系统技术支持