<?php //电子邮件的小案例 //通过拆分的方法分组 $mode = '/^([\w\.]{2,255})@([\w\-]{1,255}).([a-z]{2,4})$/';//模式不能缺少 $string = 'oneStopWeb@163.com'; if(preg_match($mode,$string)){ echo '电子邮件合法'; }else{ echo '电子邮件不合法'; } ?>
Demo8.php
<?php //匹配全局正则 //将字符串的所有匹配得到的结果放到一个数组变量里 preg_match_all('/php[1-5]/','php5fsdfsdphp6fsdfsdfphp4',$out); print_r($out);//Array ( [0] => Array ( [0] => php5 [1] => php4 ) ) echo $out[0][0];//php5 ?>
Demo9.php
<?php //定界定则 echo preg_quote('PHP is $150'); //PHP is \$150 ?>
Demo10.php
<?php //搜索匹配的结果,然后替换掉 //第一个参数,存的是正则模式 //第二参数,放的是替换掉的字符串 //第二个参数,字符 //将第三个参数的字符串的 php5,php6 替换成了 oneStopWeb echo preg_replace('/php[1-6]/','oneStopWeb','This is a php5,This is a php6'); //This is a oneStopWeb,This is a oneStopWeb ?>
Demo11.php
<?php //贪婪和分组获取的案例,ubb //我要将这个 [b][/b] 换成 <strong></strong> //注意一个问题,这个时候的 [] 中括号,是字符串的括号,而不是语法[a-z] //. 表示匹配任意字符一个,加上一个 * 号表示匹配零个或者多个 //用括号分为三组,那么第一组就是\1,第二组就是\2,第三组就是\3 //目前只有1 组,\1 //第一问题,第一个[b]和最后一个[/b]匹配了 //解决贪婪匹配。 $mode = '/(\[b\])(.*)(\[\/b\])/U';//U 禁止贪婪 $replace = '<strong>\2</strong>'; $string = 'This is a [b]php5[/b],This is a [b]php6 [/b]'; //echo $string; echo preg_replace($mode,$replace,$string); ?>
Demo12.php
<?php //用正则表达来进行分割 //如果没有 [] 符号,就表示,要同时满足 print_r(preg_split('/[.@]/','oneStopWeb@163.com')); //Array ( [0] => oneStopWeb [1] => 163 [2] => com ) ?>
PS:这里再为大家提供2款非常方便的正则表达式工具供大家参考使用:
JavaScript正则表达式在线测试工具:
更多关于PHP相关内容感兴趣的读者可查看本站专题:《php正则表达式用法总结》、《PHP数组(Array)操作技巧大全》、《PHP基本语法入门教程》、《PHP运算与运算符用法总结》、《php面向对象程序设计入门教程》、《PHP网络编程技巧总结》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》