首页 > 代码库 > php基础30:正则匹配-量词
php基础30:正则匹配-量词
<?php //正则表达式 //1.第一个正则表达式 if("a"=="a"){ echo "equal"; }else{ echo "noequal"; } echo "<hr>"; //第一个参数表示匹配模式,第二个参数匹配的字符串 echo (preg_match(‘/php/‘,"php")); echo (preg_match(‘/php/‘,"php222")); echo (preg_match(‘/php/‘,"p2h2p2")); $modle = "/php/"; $string = "php"; if (preg_match($modle, $string)) { echo "success"; }else{ echo "fail"; }; echo "<hr>"; //什么叫做匹配?:按照模式来匹配 //匹配与相等是不同的概念 //2.量词+:匹配任何至少包括一个前导字符串(1个或者多个) // 前导:前面一个字符,+的前导是h // h+ 的意思是只要要包括1个h $model = "/ph+p/"; $string = "phhhhhhhp"; echo(preg_match($model, $string));//1 $model = "/ph+p/"; $string = "phhhgggggggggp"; echo(preg_match($model, $string));//0 $model = "/ph+p/"; $string = "pp"; echo(preg_match($model, $string))."<hr>";//0 // 3.量词*:匹配任包括0个或者多个前导字符串(0个或者多个) // * 虽然可以是0个,但是前导字符不能更改,更就不匹配了 $model = "/ph*p/"; $string = "php"; echo(preg_match($model, $string));//1 $model = "/ph*p/"; $string = "pp"; echo(preg_match($model, $string));//1 $model = "/ph*p/"; $string = "pbbbbp"; echo(preg_match($model, $string));//0 echo "<hr>"; // 3.量词?:匹配任何包含1个或者0个前导字符 $model = "/ph?p/"; $string = "pp"; echo(preg_match($model, $string));//1 $model = "/ph?p/"; $string = "php"; echo(preg_match($model, $string));//1 $model = "/ph?p/"; $string = "phhhp"; echo(preg_match($model, $string))."<hr>";//0 //4.量词(.)匹配任意一个字符 //n个点匹配n个任意字符 $model = "/p.p/"; $string = "php"; echo(preg_match($model, $string));//1 $model = "/p..p/"; $string = "phrp"; echo(preg_match($model, $string));//1 $model = "/p..p/"; $string = "php"; echo(preg_match($model, $string));//0 $model = "/p..p/"; $string = "phhhp"; echo(preg_match($model, $string))."<hr>";//0 //5.(.与*)的配合 //(.*)表示任意前导字符,0个或者多个 $model = "/p.*p/"; $string = "php"; echo(preg_match($model, $string));//1 $model = "/p.*p/"; $string = "phhhhhhp"; echo(preg_match($model, $string));//1 $model = "/p.*p/"; $string = "pp"; echo(preg_match($model, $string))."<hr>";//1 // 6.量词{x}:表示前导必须是3个 $model = "/ph{3}p/"; // h{3}匹配3个h $string = "phhhp"; echo(preg_match($model, $string));//1 $model = "/ph{3}p/"; $string = "php"; echo(preg_match($model, $string))."<hr>";//0 //7.量词{x,y}:匹配x-y个前导字符串 $model = "/ph{3,5}p/"; $string = "phhhp"; echo(preg_match($model, $string));//1 $model = "/ph{3,5}p/"; $string = "phhhhp"; echo(preg_match($model, $string));//1 $model = "/ph{3,5}p/"; $string = "phhhhhp"; echo(preg_match($model, $string))."<hr>";//1 //8.量词{x,}:匹配至少x个前导字符串 $model = "/ph{3,}p/"; $string = "phhhp"; echo(preg_match($model, $string));//1 $model = "/ph{3,}p/"; $string = "phhp"; echo(preg_match($model, $string));//0 $model = "/ph{3,}p/"; $string = "phhhhp"; echo(preg_match($model, $string))."<hr>";//1 //9.$:匹配字符串的行尾 //$一般加载字符串的尾巴上,表示从尾巴开始匹配(以xxx结尾) $model = "/php/"; $string = "cccccccccccccccc php ccccccccccc"; echo(preg_match($model, $string));//1 $model = "/php$/"; $string = "cccccccccccccccc php ccccccccccc"; echo(preg_match($model, $string));//0 $model = "/php$/"; $string = "cccccccccccccccccccccccccccphp"; echo(preg_match($model, $string))."<hr>";//1 //10. ^ 表示从头开始匹配 // 表示 以 xxx 开始 $model = "/^php/"; $string = "cccccccccccccccccccccccccccphp"; echo(preg_match($model, $string));//0 $model = "/^php/"; $string = "phpcccccccccccccccccccccccccccphp"; echo(preg_match($model, $string));//1 //如果^和$一起使用,表示匹配一模一样的,那就使用==即可 $model = "/^php$/"; $string = "phpcccccccccccccccccccccccccccphp"; echo(preg_match($model, $string))."<hr>";//1 // 10. | : 匹配字符串的左边或者右边 //条件选择符号 $model = "/php|jsp/"; $string = "php"; echo(preg_match($model, $string));//1 $model = "/php|jsp/"; $string = "jsp"; echo(preg_match($model, $string));//0 $model = "/php|jsp/"; $string = "asp"; echo(preg_match($model, $string));//0 $model = "/php|jsp|asp/"; $string = "asp"; echo(preg_match($model, $string))."<hr>";//1 // 11. () : 包围一个字符分组或者 //讲到后面才可以理解 ?>
php基础30:正则匹配-量词
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。