时间:2021-07-01 10:21:17 帮助过:3人阅读
模式修正符有哪些:
i忽略大小写
x忽略正则中的空白
s使用.元字符可以匹配到\n
元字符(. )可以匹配任意一个原子,除了\n之外
m视为多行处理,在该模式下和$可以匹配\
s (大s) 加速匹配
U模式(必须记住)改变贪婪模式
改变贪婪模式,程序默认是贪婪的,匹配最远的结束为止,我们可以在正则中使用* ?匹配任意字符的同事使用腓贪婪模式。
首先我们还是先定义$str = $_POST[]接收传过来的参数,然后,我们定义正则表达式($pattern),当我们用两个定界符定义好以后就是一个正则表达式的模式,那,此时的模式修正符应放在模式修正符的后边。然后我们把匹配的代码写上去,运行结果出现匹配成功(代码如下)
<?php //进行匹配 $str = $_POST['str']; $pattern = '/love/' ; $result = preg_match($pattern , $str , $match); echo ' 匹配结果为: '.$result; echo '<hr/>' ; if ( $result){ echo '<font color="pink" size="5 ">匹配成功</font>'; }else{ echo '<font color="red">匹配失败</font>'; } var_dump($match); ?>
代码运行结果:
如我们把输入的字符串换为大写字母会发现结果出现匹配失败:
代码显示结果如下:
如果我们在模式修正符后面加入一个I之后,我们会发现我们运行代码的结果是匹配成功;
$pattern = '/love/i' ;
代码运行结果:
如果说我们在字符串中加入空格,我们运行结果会显示匹配出错;
$pattern = '/lo ve/i' ;
代码运行结果:
如果我们在模式修正符后面在加入一个x之后,我们会发现我们运行代码的结果是匹配成功;
$pattern = '/lo ve/ix' ;
代码运行结果:
如果我想匹配所有的东西,我们可以用一个元字符(.)这个圆点可以匹配到任意的内容
我们以代码为例:
$pattern = '/./ix' ;
代码运行结果:
如果我们想匹配到中文,我们可以在圆点后面加一个(+);
$pattern = '/.+/ix' ;
代码运行结果:
推荐学习:《PHP视频教程》
以上就是在PHP中模式修正符有哪些?他们是如何使用的?(附详解)的详细内容,更多请关注gxlcms其它相关文章!