解析PHP正则表达式修饰符

开发 后端
PHP正则表达式修饰符的应用是我们在进行PHP正则表达式开发的时候经常会使用的,那么关于PHP正则表达式修饰符我们需要掌握什么呢?那么本文就向你介绍详细内容。

我们在PHP正则表达式的学习中会碰到修饰符,那么关于PHP正则表达式修饰符的理解以及使用我们需要注意什么呢?那么我们来具体的看看它的概念以及相关内容。在学习PHP正则表达式修饰符之前先来理解下贪婪模式,前面在元字符中提到过"?"还有一个重要的作用,即"贪婪模式",什么是"贪婪模式"呢?

PHP正则表达式贪婪模式:

比如我们要匹配以字母"a"开头字母"b"结尾的字符串,但是需要匹配的字符串在"a"后面含有很多个"b",比如"a bbbbbbbbbbbbbbbbb",那正则表达式是会匹配***个"b"还是***一个"b"呢?如果你使用了贪婪模式,那么会匹配到***一个"b",反之只是匹配到***个"b"。

PHP正则表达式贪婪模式使用实例:

  1. /a.+?b/   
  2. /a.+b/U 

对比不使用贪婪模式的实例如下:

  1. /a.+b/  

上面使用了一个修饰符U,详见关于修饰符的介绍。

PHP正则表达式修饰符的理解:

在PHP正则表达式里面的修饰符可以改变正则的很多特性,使得正则表达式更加适合你的需要(注意:修饰符对于大小写是敏感的,这意味着"e"并不等于"E")。

PHP正则表达式修饰符的种类及介绍:

◆i :如果在修饰符中加上"i",则正则将会取消大小写敏感性,即"a"和"A" 是一样的。

◆m:默认的正则开始"^"和结束"$"只是对于正则字符串如果在修饰符中加上"m",那么开始和结束将会指字符串的每一行:每一行的开头就是"^",结尾就是"$"。

◆s:如果在修饰符中加入"s",那么默认的"."代表除了换行符以外的任何字符将会变成任意字符,也就是包括换行符!

◆x:如果加上该修饰符,表达式中的空白字符将会被忽略,除非它已经被转义。

◆e:本修饰符仅仅对于replacement有用,代表在replacement中作为PHP代码。

◆A:如果使用这个修饰符,那么表达式必须是匹配的字符串中的开头部分。比如说"/a/A"匹配"abcd"。

◆E:与"m"相反,如果使用这个修饰符,那么"$"将匹配绝对字符串的结尾,而不是换行符前面,默认就打开了这个模式。

◆U:和问号的作用差不多,用于设置"贪婪模式"。

PHP正则表达式修饰符的相关内容就向你介绍到这里,希望对你了解和掌握PHP正则表达式修饰符有所帮助。

【编辑推荐】

  1. 浅谈PHP正则表达式的一点理解
  2. 解析PHP正则表达式元字符
  3. 详解两个PHP正则表达式特殊字符
  4. 浅析PHP正则表达式定位字符
  5. 探究PHP正则表达式实现信息记录
责任编辑:仲衡 来源: phpe.net
相关推荐

2009-09-16 10:59:24

PHP正则表达式元字符

2011-05-11 17:40:30

PHP正则表达式

2010-07-14 09:37:46

Perl正则表达式

2011-06-16 15:28:31

正则表达式

2010-08-09 13:58:59

Flex正则表达式

2010-07-13 17:03:53

Perl正则表达式

2010-07-28 11:06:41

Flex正则表达式

2009-09-16 14:32:43

PHP正则表达式替换

2009-09-16 13:14:10

Ereg正则表达式

2009-09-16 11:17:12

PHP正则表达式定位字

2018-09-27 15:25:08

正则表达式前端

2020-09-04 09:16:04

Python正则表达式虚拟机

2009-09-16 18:16:34

正则表达式

2009-09-16 18:08:14

正则表达式匹配单词

2009-08-24 16:12:21

正则表达式操作符

2009-09-16 13:24:30

PHP正则表达式匹配

2009-09-16 16:01:57

PHP正则表达式正则表达式的应用

2009-09-16 11:27:52

PHP正则表达式正则表达式实现

2009-09-16 09:58:53

PHP正则表达式函数

2009-09-16 10:43:22

PHP正则表达式函数
点赞
收藏

51CTO技术栈公众号