正则表达式
正则表达式(regular expression) 只不过是一种字符串匹配的模式,它提供了模式匹配功能的基础。 使用正则表达式可以在一个字符串中搜索一个特定的字符串,你可以在一个字符串中换取另一个字符串,当然你也可以将一个字符串分割成很多块。 PHP 提供了两组针对正则表达式的函数,每一个函数对应于一种特定的正则表达式。基于你的需求,您可以使用任何该函数:
POSIX 正则表达式POSIX 正则表达式的结构并没有什么不同的典型的算术表达式:它是由各种元素(运算符)相结合并形成更复杂的正则表达式。 最简单的正则表达式就是匹配一个字符,例如 g,在 gg,haggle 或者 bag 等字符串内部。 让我们可以先给一些解释性的概念介绍怎么使用 POSIX 正则表达式。之后,我们将介绍这个正则表达式相关功能。 括号方括号([])是具有特殊意义的在上下文中使用的正则表达式。他们是用来发现一系列字符。
上面所示的范围是大致范围;您还可以使用范围[0 – 3]匹配任何十进制数字从0到3的任意一个十进制数字,或范围[b-v]来匹配任何小写字符从字符 b 到字符 v。 量词 括起来的字符序列的频率或位置和单个字符都可以用来表示一个特殊的角色。每个特殊字符都有一个特定的隐含意义。
例子下面的例子将会帮助你梳理你的匹配字符的概念。
预定义的字符序列为了你编程的方便,预定义了一些可用的字符集,也被称为字符类。字符类是指定一个完整的范围内的字符,例如,字母或一组整数:
php 的 posix 正则表达式函数PHP 目前提供了七个使用 POSIX-style 来搜索字符串的正则表达式函数:
PERL 风格正则表达式Perl-style 正则表达式类似于 POSIX 正则表达式。POSIX 语法与 Perl-style 正则表达式函数语法相似几乎可以互换。事实上,您可以使用任何前面的 POSIX 小节中介绍的量词。 让我们可以给一些概念解释被用于 PERL 的正则表达式。之后,我们将介绍这个正则表达式相关功能。 元字符元字符只是一个字母字符,在元字符之前加入一个反斜杠,给组合特别的意义。 例如,您可以使用“d”元字符: 下面是元字符的列表,可以使用 PERL 风格的正则表达式。 字符 说明 . 一个字符 s: 用于匹配单个空格符,包括tab键和换行符; S: 用于匹配除单个空格符之外的所有字符; d: 用于匹配从0到9的数字; D: 用于匹配没有数字的所有字符; w: 用于匹配字母,数字或下划线字符(a-z,A-Z,0-9,_); W: 用于匹配所有与w不匹配的字符; [aeiou] 在给定的集合内匹配一个字符 [^aeiou] 在给定的集合外匹配一个字符 (foo|bar|baz) 匹配任何指定的备选方案 修饰符使用几个 regexp 修饰符,它能使你的工作更容易,比如字母大小写敏感性、搜索多个行等等。 修饰符 说明 i 在和正则匹配是不区分大小写 m 将字符串视为多行。默认的正则开始“^”和结束“$”将目标字条串作为一单一的一“行”字符(甚至其中包括换行符也是如此)。如果在修饰符中加上“m”,那么开始和结束将会指点字符串的每一行的开头就是“^”结束就是“$”。 o 评估表达式只有一次 s 如果设定了这个修正符,那么,被匹配的字符串将视为一行来看,包括换行符,换行符将被视为普通字符串。 x 忽略空白,除非进行转义的不被忽略。 g 在全局范围内找到所有匹配 cg 即使全局匹配失败也允许搜索继续 PHP 的 Regexp PERL 兼容函数PHP 提供了以下函数使用 perl 的正则表达式来搜索字符串
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |