作者:ET Dreams http://blog.csdn.net/etmonitor/
Regular Expressions (1) ---- What is Regular Expressions?<o:p></o:p>
<o:p> </o:p>
正则表达式是常见常忘,所以还是记下来比较保险,于是就有了这篇笔记。<o:p></o:p>
希望对大家会有所帮助。J<o:p></o:p>
1.什么是正则表达式.............................................................................................................................................................. 2<o:p></o:p>
2.正则表达式的起源............................................................................................................................................................. 2<o:p></o:p>
3. 正则表达式使用祥解........................................................................................................................................................ 3<o:p></o:p>
3.1基本语法.............................................................................................................................................................................. 3<o:p></o:p>
3.1.1普通字符..................................................................................................................................................................... 3<o:p></o:p>
3.1.2非打印字符................................................................................................................................................................. 3<o:p></o:p>
3.1.3特殊字符..................................................................................................................................................................... 3<o:p></o:p>
3.1.4字符集........................................................................................................................................................................... 4<o:p></o:p>
3.1.5在字符集中使用元字符............................................................................................................................................. 5<o:p></o:p>
3.1.6预定义字符集.............................................................................................................................................................. 5<o:p></o:p>
3.1.7 限定符........................................................................................................................................................................... 6<o:p></o:p>
3.1.8定位符........................................................................................................................................................................... 6<o:p></o:p>
3.1.9 “.”元字符...................................................................................................................................................................... 7<o:p></o:p>
3.1.10用 “|”表示选择.......................................................................................................................................................... 8<o:p></o:p>
3.1.11用 “()”表示分组.................................................................................................................................................. 8<o:p></o:p>
3.1.12 “?”的补充说明.......................................................................................................................................................... 8<o:p></o:p>
3.1.13给正则表达式添加注释......................................................................................................................................... 8<o:p></o:p>
3.1.14操作符的运算优先级............................................................................................................................................... 8<o:p></o:p>
3.2 高级话题............................................................................................................................................................................... 9<o:p></o:p>
3.2.1反向引用..................................................................................................................................................................... 9<o:p></o:p>
3.2.2在正则表达式中指定模式option........................................................................................................................... 9<o:p></o:p>
3.2.3 Lookaround断言..................................................................................................................................................... 10<o:p></o:p>
4. 正则表达式基本语法索引............................................................................................................................................ 11<o:p></o:p>
5. 正则表达式高级语法索引.............................................................................................................................................. 15<o:p></o:p>
6. 参考资料................................................................................................................................................................................. 17<o:p></o:p>
7. 推荐工具................................................................................................................................................................................. 17<o:p></o:p>
<o:p> </o:p>
<o:p> </o:p>
<o:p> </o:p>
<o:p> </o:p>
<o:p> </o:p>
<o:p> </o:p>
<o:p> </o:p>
<o:p> </o:p>
<o:p> </o:p>
<o:p> </o:p>
<o:p> </o:p>
<o:p> </o:p>
<o:p> </o:p>
1.什么是正则表达式<o:p></o:p>
<o:p> </o:p>
简单的说,正则表达式是一种可以用于文字模式匹配和替换的强有力的工具。是由一系列普通字符和特殊字符组成的能明确描述文本字符串的文字匹配模式。<o:p></o:p>
正则表达式并非一门专用语言,但也可以看作是一种语言,它可以让用户通过使用一系列普通字符和特殊字符构建能明确描述文本字符串的匹配模式。除了简单描述这些模式之外,正则表达式解释引擎通常可用于遍历匹配,并使用模式作为分隔符来将字符串解析为子字符串,或以智能方式替换文本或重新设置文本格式。正则表达式为解决与文本处理有关的许多常见任务提供了有效而简捷的方式。<o:p></o:p>
正则表达式具有两种标准:<o:p></o:p>
· 基本的正则表达式(BRE – Basic Regular Expressions)<o:p></o:p>
· 扩展的正则表达式(ERE – Extended Regular Expressions)。<o:p></o:p>
ERE包括BRE功能和另外其它的概念。<o:p></o:p>
<o:p> </o:p>
正则表达式目前有两种解释引擎:<o:p></o:p>
· 基于字符驱动(text-directed engine)<o:p></o:p>
· 基于正则表达式驱动(regex-directed engine) <o:p></o:p>
Jeffery Friedl把它们称作DFA和NFA解释引擎。<o:p></o:p>
<o:p> </o:p>
约定:<o:p></o:p>
为了描述起来方便,在本文中做一些约定:<o:p></o:p>
1. 本文所举例的所有表达时都是基于NFA解释引擎的。<o:p></o:p>
2. 正则表达式,也就是匹配模式,会简写为Regex。<o:p></o:p>
3. Regex的匹配目标,也就是目标字符串,会简写为String。<o:p></o:p>
4. 匹配结果用会用黄色底色标识。<o:p></o:p>
5. 用1\+1=2 括起来的表示这是一个regex。<o:p></o:p>
6. 举例会用以下格式:<o:p></o:p>
Regex<o:p></o:p>
|
Target String<o:p></o:p>
|
Description<o:p></o:p>
|
test<o:p></o:p>
|
This is a test<o:p></o:p>
|
会匹配test,testcase等<o:p></o:p>
|
<o:p> </o:p>
2.正则表达式的起源<o:p></o:p>
正则表达式的“祖先”可以一直上溯至对人类神经系统如何工作的早期研究。Warren McCulloch 和 Walter Pitts 这两位神经生理学家研究出一种数学方式来描述这些神经网络。<o:p></o:p>
1956 年, 一位叫 Stephen Kleene 的美国数学家在 McCulloch 和 Pitts 早期工作的基础上,发表了一篇标题为“神经网事件的表示法”的论文,引入了正则表达式的概念。正则表达式就是用来描述他称为“正则集的代数”的表达式,因此采用“正则表达式”这个术语。 <o:p></o:p>
随后,发现可以将这一工作应用于使用Ken Thompson 的计算搜索算法的一些早期研究,Ken Thompson是Unix 的主要发明人。正则表达式的第一个实用应用程序就是 Unix 中的qed 编辑器。从那时起直至现在正则表达式都是基于文本的编辑器和搜索工具中的一个重要部分。具有完整语法的正则表达式使用在字符的格式匹配方面上,后来被应用到熔融信息技术领域。自从那时起,正则表达式经过几个时期的发展,现在的标准已经被ISO(国际标准组织)批准和被Open Group组织认定。<o:p></o:p>
3. 正则表达式使用祥解<o:p></o:p>
分享到:
相关推荐
《正则表达式经典实例》讲解了基于8种常用的编程语言使用正则表达式的经典实例。书中提供了上百种可以在实战中使用的实例,以帮助读者使用正则表达式来处理数据和文本。对于如何使用正则表达式来解决性能不佳、误报...
正则表达式经典教程.doc
通过一个精练的教程理解正则表达式的基本原理和技巧; 在不同的编程语言和脚本语言中有效使用正则表达式; 学习如何对输入进行合法性检查和格式化; 处理单词、文本行、特殊字符和数值; 学习如何在URL、...
这本示例丰富的教程将打破所谓正则表达式难以掌握的传统神话。 通过逐章地讲解如何在流行的Windows平台的软件——包括数据库、跨平台的脚本语言和编程语言中使用正则表达式,你将学习到如何有效地驾驭正则表达式所...
这本示例丰富的教程将打破所谓正则表达式难以掌握的传统神话。本书详细解释了正则表达式的各个组成部分、这些组成部分的含义、如何使用它们,以及在编写正则表达式时如何避免常见的错误。 通过逐章地讲解如何在...
压缩包包含有三个文档,分别是Mastering Regular Expressions.pdf;Mastering.Regular.Expressions.3rd.Edition.Aug.2006.chm;最全正则表达式教程、最好正则表达式教程.doc,文档只用于学术交流!
《正则表达式经典实例》旨在教会读者很多新的技巧以及如何避免语言特定的陷阱,读者可以通过《正则表达式经典实例》提供的实例解决方案库来解决实践中的复杂问题。 ·查看全部>>作者简介 Jan Goyvaerts领导着Just ...
正则表达式完美教程+超实用的正则工具。 非常经典实用。
经典正则表达式教程。能够帮助程序员查阅和学习
使用8中编程语言的详细解决方案,包括一个正则表达式简明教程。
正则表达式 (经典收藏) 高效正则表达式 正则表入门 正则表教程
经典 正则表达式30分钟入门教程.rar 经典 正则表达式30分钟入门教程.rar经典 正则表达式30分钟入门教程.rar
正则表达式 经典概述 包含以下内容: 正则表达式入门 正则表达式测试工具 java正则表达式 正则表达式教程
中文名: 正则表达式经典实例 原名: Regular Expression Cookbook 作者: (美)高瓦特斯(Goyvaerts,J.) (美)利维森(Levithan,S.)译者: 郭耀 资源格式: PDF 版本: 扫描版 出版社: 人民邮电出版社书号: 9787115228321发行...
[正则]正则表达式系统教程cmd 格式帮助文档, 经典的正则表达式,