浅析PHP正则表达式匹配的实现


  本文标签:PHP正则表达式匹配

  浅析PHP正则表达式匹配的实现

  PHP正则表达式匹配是我们谈到正则表达式在PHP中是应用的最终目的,那么如何实现PHP正则表达式匹配呢?具体的会使用到什么方法呢?让我们来看看具体的内容  。

  PHP继承UNIX的一贯传统,完全支持正规表达式的处理  。正规表达式提供了一种高级的,但不直观的字符串匹配和处理的方法  。用过PERL的正规表达式的朋友都知道,正规表达式的功能非常强大,但学起来不是那么容易  。

  PHP正则表达式匹配实例应用:

  1. ^.+@.+\..+$  

  这段有效却难以理解的代码足够使一些程序员头痛(我就是)或者让他们放弃使用正规表达式  。相信当你读完这个教程后,就可以理解这段代码的含义了  。

  PHP正则表达式匹配之基本模式匹配

  一切从最基本的开始  。模式,是正规表达式最基本的元素,它们是一组描述字符串特征的字符  。模式可以很简单,由普通的字符串组成,也可以非常复杂,往往用特殊的字符表示一个范围内的字符、重复出现,或表示上下文  。例如:

  ^once

  这个模式包含一个特殊的字符^,表示该模式只匹配那些以once开头的字符串  。例如该模式与字符串\"once upon a time\"匹配,与\"There once was a man from NewYork\"不匹配  。正如如^符号表示开头一样,$符号用来匹配那些以给定模式结尾的字符串  。

  bucket$

  这个模式与\"Who kept all of this cash in a bucket\"匹配,与\"buckets\"不匹配  。字符^和$同时使用时,表示精确匹配(字符串与模式一样)  。例如:

  ^bucket$

  只匹配字符串\"bucket\"  。如果一个模式不包括^和$,那么它与任何包含该模式的字符串匹配  。例如:模式

  once

  与字符串

  1. There once was a man from NewYork  
  2. Who kept all of his cash in a bucket. 

  是匹配的  。

  在该模式中的字母(o-n-c-e)是字面的字符,也就是说,他们表示该字母本身,数字也是一样的  。其他一些稍微复杂的字符,如标点符号和白字符(空格、制表符等),要用到转义序列  。所有的转义序列都用反斜杠()打头  。制表符的转义序列是:t  。所以如果我们要检测一个字符串是否以制表符开头,可以用这个模式:

  ^t

  类似的,用n表示“新行”,r表示回车  。其他的特殊符号,可以用在前面加上反斜杠,如反斜杠本身用\表示,句号.用.表示,以此类推  。

  PHP正则表达式匹配相关的内容就向你介绍到这里,希望对你了解和学习PHP正则表达式匹配有所帮助  。