PHP教程

php模式修正符

本文主要是介绍php模式修正符,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

文章目录


1、()的作用
2、模式修正符作用
3、部分模式修正符作用及示例

1、()括号中的内容将会复制到\\num中,num所代表的就是()中的内容,具体示例如下图所示

<?php
$pattern='/t(e)st\\1/';
$str='        teste           ';
var_dump(preg_match_all($pattern,$str,$arr));
var_dump($str);

输出结果为
在这里插入图片描述

2、模式修正符是在正则表达式的定界符之后使用的,可以调整正则表达式的解释,扩展正则表达式在匹配、替换等操作时的某些功能,增强正则表达式的处理能力。

3、(1)i(在和模式匹配时不区分大小写)

<?php
$pattern='/test/i';
$str=' TEST,test,Test,teSt';
var_dump(preg_match_all($pattern,$str,$arr));
var_dump($arr);

输出结果
在这里插入图片描述

(2)m(进行多行匹配)
使用条件:
<1>目标字符串中必须包括"\n";(在字符串中出现\n表示新的一行开始);
<2>正则表达式中必须要出现^或者$;
具体示例如下

<?php
$pattern='/^test/m';
$str="test\ntest\ntest\ntest";
var_dump(preg_match_all($pattern,$str,$arr));
var_dump($arr);

输出结果为
在这里插入图片描述
注:在windows操作系统中的换行是由两个字符完成的(\r\n)
在linux操作系统中的换行是由\n完成的
所以手动敲出的换行是无法被识别的

(3)s(匹配所有的字母包括换行符)
示例如下

<?php
$pattern='/t.st/s';
$str="t st";//若进行换行则无法匹配,因为换行有两个字符\r\n
var_dump(preg_match_all($pattern,$str,$arr));
var_dump($arr);

输出结果为
在这里插入图片描述
(4)U(禁止贪婪匹配)

<?php
$pattern='/a.*f/U';
$str="adwdawsegreggtthf   aveawhkeawsckf";
var_dump(preg_match_all($pattern,$str,$arr));
var_dump($arr);

输出结果为
在这里插入图片描述

这篇关于php模式修正符的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!