php正则表达式学习手册(1/5)

php教程的正则表达式完全手册

前言

   正则表达式是烦琐的,但是强大的,学会之后的应用会让你除了提高效率外,会给你带来绝对的成就感。只要认真去阅读这些资料,加上应用的时候进行一定的参考,掌握正则表达式不是问题。

索引

   1._引子
   2._正则表达式的历史
   3._正则表达式定义

    3.1_普通字符
    3.2_非打印字符
    3.3_特殊字符
    3.4_限定符
    3.5_定位符
    3.6_选择
    3.7_后向引用

   4._各种操作符的运算优先级
   5._全部符号解释
   6._部分例子
   7._正则表达式匹配规则

    7.1_基本模式匹配
    7.2_字符簇
    7.3_确定重复出现
1. 引子
   目前,正则表达式已经在很多软件中得到广泛的应用,包括*nix(linux, unix等),hp等操作系统,php,c#,java等开发环境,以及很多的应用软件中,都可以看到正则表达式的影子。

   正则表达式的使用,可以通过简单的办法来实现强大的功能。为了简单有效而又不失强大,造成了正则表达式代码的难度较大,学习起来也不是很容易,所以需要付出一些努力才行,入门之后参照一定的参考,使用起来还是比较简单有效的。

   例子: ^.+@.+..+$

   这样的代码曾经多次把我自己给吓退过。可能很多人也是被这样的代码给吓跑的吧。继续阅读本文将让你也可以自由应用这样的代码。

   注意:这里的第7部分跟前面的内容看起来似乎有些重复,目的是把前面表格里的部分重新描述了一次,目的是让这些内容更容易理解。
2. 正则表达式的历史

   正则表达式的“祖先”可以一直上溯至对人类神经系统如何工作的早期研究。warren mcculloch 和 walter pitts 这两位神经生理学家研究出一种数学方式来描述这些神经网络。

   1956 年, 一位叫 stephen kleene 的数学家在 mcculloch 和 pitts 早期工作的基础上,发表了一篇标题为“神经网事件的表示法”的论文,引入了正则表达式的概念。正则表达式就是用来描述他称为“正则集的代数”的表达式,因此采用“正则表达式”这个术语。

   随后,发现可以将这一工作应用于使用 ken thomps教程on 的计算搜索算法的一些早期研究,ken thompson 是 unix 的主要发明人。正则表达式的第一个实用应用程序就是 unix 中的 qed 编辑器。

   如他们所说,剩下的就是众所周知的历史了。从那时起直至现在正则表达式都是基于文本的编辑器和搜索工具中的一个重要部分。

3. 正则表达式定义

   正则表达式(regular expression)描述了一种字符串匹配的模式,可以用来检查一个串是否含有某种子串、将匹配的子串做替换或者从某个串中取出符合某个条件的子串等。

   列目录时, dir *.txt或ls *.txt中的*.txt就不是一个正则表达式,因为这里*与正则式的*的含义是不同的。

   正则表达式是由普通字符(例如字符 a 到 z)以及特殊字符(称为元字符)组成的文字模式。正则表达式作为一个模板,将某个字符模式与所搜索的字符串进行匹配。 

首页 1 2 3 4 5 末页

时间: 2024-12-25 01:24:41

php正则表达式学习手册(1/5)的相关文章

PHP正则表达式完全手册

原文:PHP正则表达式完全手册 php的正则表达式完全手册 前言 正则表达式是烦琐的,但是强大的,学会之后的应用会让你除了提高效率外,会给你带来绝对的成就感.只要认真去阅读这些资料,加上应用的时候进行一定的参考,掌握正则表达式不是问题. 索引 1._引子 2._正则表达式的历史 3._正则表达式定义 3.1_普通字符 3.2_非打印字符 3.3_特殊字符 3.4_限定符 3.5_定位符 3.6_选择 3.7_后向引用 4._各种操作符的运算优先级 5._全部符号解释 6._部分例子 7._正则表

php的正则表达式完全手册_正则表达式

复制代码 代码如下: (?:pattern) 匹配 pattern 但不获取匹配结果,也就是说这是一个非获取匹配,不进行存储供以后使用.这在使用 "或" 字符 (|) 来组合一个模式的各个部分是很有用.例如, 'industr(?:y|ies) 就是一个比 'industry|industries' 更简略的表达式. (?=pattern) 正向预查,在任何匹配 pattern 的字符串开始处匹配查找字符串.这是一个非获取匹配,也就是说,该匹配不需要获取供以后使用.例如,'Window

php的正则表达式完全手册

复制代码 代码如下: (?:pattern) 匹配 pattern 但不获取匹配结果,也就是说这是一个非获取匹配,不进行存储供以后使用.这在使用 "或" 字符 (|) 来组合一个模式的各个部分是很有用.例如, 'industr(?:y|ies) 就是一个比 'industry|industries' 更简略的表达式. (?=pattern) 正向预查,在任何匹配 pattern 的字符串开始处匹配查找字符串.这是一个非获取匹配,也就是说,该匹配不需要获取供以后使用.例如,'Window

轻松学习手册(3)XML的术语

第三章 XML的术语 导言 初学XML最令人头疼的就是有一大堆新的术语概念要理解.由于XML本身也是一个崭新的技术,正在不断发展和变化,各组织和各大网络公司(微软,IBM,SUN等)都在不断推出自己的见解和标准,因此新概念漫天飞就不足为奇了.而国内又缺乏权威的机构或组织来对这些术语正式定名,你所看见的有关XML的中文教材大部分是靠作者本身的理解翻译过来的,有些是正确的,有些是错误的,更加妨碍了我们对这些概念的理解和学习. 你下面将要看到的关于XML术语的解释,也是作者本身的理解和翻译.阿捷是以W

XML轻松学习手册(2)XML概念

xml|概念 第二章 XML概念 导言 经过第一章的快速入门学习,你已经知道了XML是一种能够让你自己创造标识的语言,它可以将数据与格式从网页中分开,它可以储存数据和共享数据的特性使得XML无所不能.如果你希望深入学习XML,系统掌握XML的来龙去脉,那么我们首先还是要回到XML概念的问题上来.XML(Extensible Markup Language),一种扩展性标识语言."扩展性""标识""语言".每一个词都明确的点明了XML的重要特点和功

XML轻松学习手册(3)XML的术语

xml 第三章 XML的术语 提纲:   导言 一.XML文档的有关术语 二.DTD的有关术语 导言 初学XML最令人头疼的就是有一大堆新的术语概念要理解.由于XML本身也是一个崭新的技术,正在不断发展和变化,各组织和各大网络公司(微软,IBM,SUN等)都在不断推出自己的见解和标准,因此新概念漫天飞就不足为奇了.而国内又缺乏权威的机构或组织来对这些术语正式定名,你所看见的有关XML的中文教材大部分是靠作者本身的理解翻译过来的,有些是正确的,有些是错误的,更加妨碍了我们对这些概念的理解和学习.

XML轻松学习手册(4)XML语法

xml|语法 第四章 XML语法 提纲: 一.XML语法规则 二.元素的语法 三.注释的语法 四.CDATA的语法 五.Namespaces的语法 六.entity的语法 七.DTD的语法 通过前面三章的学习,我们已经对什么是XML,它的实现原理以及相关的术语有所了解.接下来我们就开始学习XML的语法规范,动手写自己的XML文档. 一.XML语法规则 XML的文档和HTML的原代码类似,也是用标识来标识内容.创建XML文档必须遵守下列重要规则:规则1:必须有XML声明语句这一点我们在上一章学习时

XML轻松学习手册(4)

xml 二.DTD的有关术语 什么是DTD,我们上面已经简略提到.DTD是一种保证XML文档格式正确的有效方法,可以比较XML文档和DTD文件来看文档是否符合规范,元素和标签使用是否正确.一个DTD文档包含:元素的定义规则,元素间关系的定义规则,元素可使用的属性,可使用的实体或符号规则. DTD文件也是一个ASCII的文本文件,后缀名为.dtd.例如:myfile.dtd. 为什么要用DTD文件呢?我的理解是它满足了网络共享和数据交互,使用DTD最大的好处在于DTD文件的共享.(就是上文DTD说

XML轻松学习手册(2)

xml 五. XML和HTML的区别 <?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />   XML和HTML都来自于SGML,它们都含有标记,有着相似的语法,HTML和XML的最大区别在于:HTML是一个定型的标记语言,它用固有的标记来描述,显示网页内容.比如< H1>表示首行标题,有固定的尺寸.相对的,XML则没有固定的标记,XML不能描述网页具体的外观,内