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

开发 后端
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正则表达式匹配有所帮助。

【编辑推荐】

  1. 解析PHP正则表达式元字符
  2. 详解两个PHP正则表达式特殊字符
  3. 浅析PHP正则表达式定位字符
  4. 探究PHP正则表达式实现信息记录
  5. 解析PHP正则表达式修饰符
  6. 浅析Perl正则表达式在PHP的实现
  7. 辨析PHP中Ereg正则表达式
责任编辑:仲衡 来源: phpe.net
相关推荐

2009-09-16 13:53:17

PHP正则表达式匹配

2009-09-16 12:41:42

Perl正则表达式

2009-09-16 11:17:12

PHP正则表达式定位字

2009-09-16 16:01:57

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

2009-09-16 17:15:57

正则表达式引擎

2009-09-16 10:43:22

PHP正则表达式函数

2009-08-20 16:13:32

C#正则表达式匹配

2009-11-30 17:06:35

PHP ereg()函

2010-07-19 10:40:16

Perl正则表达式

2009-09-16 16:22:04

正则表达式匹配

2009-09-16 14:32:43

PHP正则表达式替换

2009-09-16 18:03:05

Java正则表达式正则表达式实现

2009-08-20 13:38:58

C#正则表达式

2009-08-07 15:16:10

C#正则表达式

2009-09-16 13:44:03

PHP正则表达式字符集

2009-09-16 15:45:56

email的正则表达式

2011-05-11 17:40:30

PHP正则表达式

2010-07-21 10:43:25

Perl正则表达式匹配

2009-09-16 17:02:15

正则表达式匹配字符串

2009-09-16 17:38:49

正则表达式匹配任意字符
点赞
收藏

51CTO技术栈公众号