Rumah >pembangunan bahagian belakang >masalah PHP >在PHP中模式修正符有哪些?是如何使用的?(附详解)

在PHP中模式修正符有哪些?是如何使用的?(附详解)

慕斯
慕斯asal
2021-06-09 16:48:541964semak imbas

上篇文章给大家介绍了《PHP中什么是元字符?我们该如何使用正则表达式的元字符?(附代码)》,本文继续给大家介绍在PHP中模式修正符有哪些?他们是如何使用的?(附详解),有需要的朋友可以参考一下,希望对大家有所帮助。

在PHP中模式修正符有哪些?是如何使用的?(附详解)

模式修正符有哪些:

  • i忽略大小写

  • x忽略正则中的空白

  • s使用.元字符可以匹配到\n

  • 元字符(. )可以匹配任意一个原子,除了\n之外

  • m视为多行处理,在该模式下和$可以匹配\ 

  • s (大s) 加速匹配

  • U模式(必须记住)改变贪婪模式

  • 改变贪婪模式,程序默认是贪婪的,匹配最远的结束为止,我们可以在正则中使用* ?匹配任意字符的同事使用腓贪婪模式。

首先我们还是先定义$str = $_POST[]接收传过来的参数,然后,我们定义正则表达式($pattern),当我们用两个定界符定义好以后就是一个正则表达式的模式,那,此时的模式修正符应放在模式修正符的后边。然后我们把匹配的代码写上去,运行结果出现匹配成功(代码如下)

<?php
//进行匹配
$str = $_POST[&#39;str&#39;];
$pattern = &#39;/love/&#39; ;
$result = preg_match($pattern , $str , $match);
echo &#39; 匹配结果为: &#39;.$result;
echo &#39;<hr/>&#39; ;
if ( $result){ 
echo &#39;<font color="pink" size="5 ">匹配成功</font>&#39;;
}else{
echo &#39;<font color="red">匹配失败</font>&#39;;
}
var_dump($match);
?>

代码运行结果:

7.JPG

8.JPG

如我们把输入的字符串换为大写字母会发现结果出现匹配失败:

代码显示结果如下:

9.JPG

10.JPG

如果我们在模式修正符后面加入一个I之后,我们会发现我们运行代码的结果是匹配成功;

$pattern = &#39;/love/i&#39; ;

代码运行结果:

11.JPG

12.JPG

如果说我们在字符串中加入空格,我们运行结果会显示匹配出错;

$pattern = &#39;/lo  ve/i&#39; ;

代码运行结果:

13.JPG

如果我们在模式修正符后面在加入一个x之后,我们会发现我们运行代码的结果是匹配成功;

$pattern = &#39;/lo  ve/ix&#39; ;

代码运行结果:

14.JPG

如果我想匹配所有的东西,我们可以用一个元字符(.)这个圆点可以匹配到任意的内容

我们以代码为例:

$pattern = &#39;/./ix&#39; ;

代码运行结果:

15.JPG

16.JPG

17.JPG

18.JPG

如果我们想匹配到中文,我们可以在圆点后面加一个(+);

$pattern = &#39;/.+/ix&#39; ;

代码运行结果:

19.JPG

20.JPG

推荐学习:《PHP视频教程

Atas ialah kandungan terperinci 在PHP中模式修正符有哪些?是如何使用的?(附详解). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Artikel berkaitan

Lihat lagi