首頁  >  文章  >  後端開發  >  解析PHP正则表达式修饰符_PHP教程

解析PHP正则表达式修饰符_PHP教程

WBOY
WBOY原創
2016-07-15 13:26:45833瀏覽

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

PHP正则表达式贪婪模式:

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

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

<ol class="dp-c">
<li class="alt"><span><span>/a.+?b/   </span></span></li>
<li><span>/a.+b/U </span></li>
</ol>

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

<ol class="dp-c"><li class="alt"><span><span>/a.+b/  </span></span></li></ol>

上面使用了一个修饰符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正则表达式修饰符有所帮助。


www.bkjia.comtruehttp://www.bkjia.com/PHPjc/446585.htmlTechArticle我们在PHP正则表达式的学习中会碰到修饰符,那么关于PHP正则表达式修饰符的理解以及使用我们需要注意什么呢?那么我们来具体的看看它...
陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn