首页 > 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正则表达式修饰符有所帮助。


文章地址:http://www.phprm.com/frame/php1003386.html

转载随意^^请带上本文地址!

标签:none

发表留言