PHP中应用正则表达式
1、函数
1)preg_match —进行正则表达式匹配,兼容perl的正则语法
int preg_match (string$pattern ,string $subject [,array$matches [,int $flags ]] )
- 加上标志 PREG_OFFSET_CAPTURE 后,变成反向匹配
2)int ereg (string$pattern ,string $string [,array&$regs ])
注:preg_match函数比 ereg() 快。
3)preg_grep — 返回与模式匹配的数组单元
array preg_grep ( string $pattern , array $input [, int $flags ])
preg_grep() 返回一个数组,其中包括了 input 数组中与给定的 pattern 模式相匹配的单元。
同样加入标志 PREG_GREP_INVERT ,则变成反向匹配
(与正则语法中的?!对等)
如
$subject = "4|43|WINWORD.EXE|C:\DOCUME~1\iloveyou\LOCALS~1\Temp\~DF39E9.tmp||eew|1300763364|";
$pattern = '/\.(?!EXE|tmp).{3}/';
preg_match($pattern, $subject, $matches);
print_r($matches);
?>
2、如何让正则表达式不区分大小写
sql_regcase — 产生用于不区分大小的匹配的正则表达式
$fl_array = preg_grep (sql_regcase("/^(ASSZs)/"), $array);
3、如何根据文件后缀过滤文件名
$logs =preg_grep(sql_regcase('/^.*?\.(tmp|ini|pip).*?/'),$logstring,PREG_GREP_INVERT);
过滤掉后缀名为tmp|ini|txt的文件名,且不区分大小写。
来自东子哥的Blog
相关文章
相关视频
专题推荐
-
独孤九贱-php全栈开发教程
全栈 170W+
主讲:Peter-Zhu 轻松幽默、简短易学,非常适合PHP学习入门
-
玉女心经-web前端开发教程
入门 80W+
主讲:灭绝师太 由浅入深、明快简洁,非常适合前端学习入门
-
天龙八部-实战开发教程
实战 120W+
主讲:西门大官人 思路清晰、严谨规范,适合有一定web编程基础学习
网友评论
文明上网理性发言,请遵守 新闻评论服务协议
我要评论