首页 > 编程 > PHP > 正文

php正则表达常用函数的总结(代码示例)

2020-03-22 16:25:31
字体:
来源:转载
供稿:网友

本篇文章给大家带来的内容是关于php正则表达常用函数的总结(代码示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

php中常用的html' target='_blank'>正则表达式函数
* preg_match()
* preg_match_all()
* preg_replace()
* preg_filter()
* preg_grep()
* preg_split()
* preg_quote()

接下来对比讲解:

讲解中 $pattern 通常正则表达式 $subject 通常表示目标处理数据
定义一个方法 方便查看数据类型:

function show($val = null){ if(empty($val)){  //打印空 echo mull  }elseif(is_array($val) || is_object($val)){  //打印数组或者对象 echo pre  print_r($val);  echo /pre  }else{  //打印string int float echo $val;}

preg_match()与preg_match_all()

 /*方法简单说明*/ preg_match($pattern,$subject,[array $matches])  //匹配一次 第三个参数可选 匹配结果放置matches数组 preg_match_all($pattern,$subject,array matches)  //匹配多次 三参必选 匹配结果放置matches数组 $pattern = /[0-9]/  $subject= b5fg4sgf3sd2f1g  $m1 =preg_match($pattern,$subject,$arr1);show($m1);show($arr1);Array [0] = 5 $m2 =preg_match_all($pattern,$subject,$arr2);show($m2);show($arr2);Array [0] = Array [0] = 5 [1] = 4 [2] = 3 [3] = 2 [4] = 1 */

2.preg_replace()与preg_filter()

/*方法简单说明*/ * preg_replace与preg_filter * preg_replace($pattern,$replacement,$subject) * //正则替换函数被替换对象是数组 返回全部//正则替换函数 被替换对象是数组 仅返回被替换元素 * 联想:str_repalce()  * echo str_replace( world , Shanghai , Hello world!  * //得到Hello Shanghai!//第一测 字符串中替换字符串 结论:此处preg_replace()与preg_filter()无区别$pattern = /[0-9]/ $subject= b65fg4sgf3sd2f1g $replacement = _ $str1 = preg_replace($pattern,$replacement,$subject);$str2 = preg_filter($pattern,$replacement,$subject);echo hr show($str1);echo br show($str2);b__fg_sgf_sd_f_gb__fg_sgf_sd_f_g //第二测 字符串中根据数组正则 替换 结论:此处preg_replace()与preg_filter()无区别 $pattern = array( /[123]/ , /[456]/ , /[789]/  $subject= b123fg3456sgf3789f1g  $replacement = array( 天 , 地 , 人  $str3 = preg_replace($pattern,$replacement,$subject); $str4 = preg_filter($pattern,$replacement,$subject); echo hr show($str3);echo br show($str4);b天天天fg天地地地sgf天人人人f天gb天天天fg天地地地sgf天人人人f天g //第三测 数组中根据数组正则 替换 结论:此处展示preg_repalce()与preg_filter()区别 $pattern = array( /[123]/ , /[456]/ , /[789]/  $subject=array( b , fg3 , 456 , sgf , 789 , fg  $replacement = array( 天 , 地 , 人  $str5 = preg_replace($pattern,$replacement,$subject); $str6 = preg_filter($pattern,$replacement,$subject); echo hr show($str5);echo br show($str6);Array [0] = b [1] = fg天 [2] = 地地地 [3] = sgf [4] = 人人人 [5] = fgArray [1] = fg天 [2] = 地地地 [4] = 人人人 */

3 . preg_grep($pattern, array $subject) //此处$subject只可以为一维数组

/*函数说明*/preg_grep($pattern,array $input)//只可以匹配一维数组 返回匹配成功的数组元素可以理解preg_grep()为阉割版 preg_filter()只做了匹配 不作替换$pattern = /[0-9]/ $subject=array( b , fg3 , 456 , sgf , 789 , fg $arr = preg_grep($pattern,$subject);show($arr);Array [1] = fg3 [2] = 456 [4] = 789 */

4 . preg_split($pattern,$subject)//一匹配成功为切割点切割字符串成数组
可以理解preg_split()升级版的explode()

$pattern = /[0-9]/ $subject= bfg3456sgf789fg $arr = preg_split($pattern,$subject);show($arr);Array [0] = bfg [1] =  [2] =  [3] =  [4] = sgf [5] =  [6] =  [7] = fg */

5 . preg_quote($str) 正则运算符转译

/* * preg_quote($str) 正则运算符转译 * . / + * ? [ ^ ] $ () {} = ! | : - echo hr  $str = qewr{asdf}[123]  $str =preg_quote($str);print_r($str);qewr/{asdf/}/[123/]*/

简单总结通性:
preg_ 开头
除preg_quote函数以外,第一个参数都是正则表达式
preg_match 表单验证等
preg_replace 非法词语过滤等

相关推荐:

PHP 正则表达式常用函数,php正则表达式函数

常用的PHP正则表达式汇总,php正则表达式_PHP教程

以上就是php正则表达常用函数的总结(代码示例)的详细内容,PHP教程

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表