`
leonardleonard
  • 浏览: 812399 次
社区版块
存档分类
最新评论
阅读更多

作者: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把它们称作DFANFA解释引擎。<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>

会匹配testtestcase<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 ThompsonUnix 的主要发明人。正则表达式的第一个实用应用程序就是 Unix 中的qed 编辑器。从那时起直至现在正则表达式都是基于文本的编辑器和搜索工具中的一个重要部分。具有完整语法的正则表达式使用在字符的格式匹配方面上,后来被应用到熔融信息技术领域。自从那时起,正则表达式经过几个时期的发展,现在的标准已经被ISO(国际标准组织)批准和被Open Group组织认定。<o:p></o:p>

3. 表达式使用<o:p></o:p>

分享到:
评论

相关推荐

    正则表达式经典实例

    ### 正则表达式经典实例 #### 一、概述 正则表达式是计算机科学领域中一种用于描述字符串模式的强大工具。它广泛应用于文本搜索、数据验证、字符串替换等多种场景。《正则表达式经典实例》这本书深入浅出地介绍了...

    经典正则表达式完美教程

    正则表达式是一种强大的文本处理工具,用于在字符串中进行模式匹配和搜索替换。JavaScript 中的正则表达式有两种创建方式:直接量形式 `/pattern/` 和构造函数形式 `new RegExp('pattern')`。 在JavaScript中,正则...

    正则表达式(regex)C语言源码,超强查找/替换算法

    Henry Spencer的regex library是一个经典的正则表达式库,由C语言编写,设计目的是为了提供一个高效且灵活的正则表达式引擎。它支持多种正则表达式语法,包括基本的字符匹配、量词、分组、预查以及更多的高级特性。...

    正则表达式.rar || 正则表达式.rar

    Friedl:一本经典的正则表达式参考书籍。 2. MDN Web Docs:Mozilla Developer Network提供的正则表达式教程。 3. RegEx101:提供在线的正则表达式教程和实践平台。 通过理解和掌握正则表达式,你可以更有效地...

    正则表达式经典教程.zip

    压缩包包含有三个文档,分别是Mastering Regular Expressions.pdf;Mastering.Regular.Expressions.3rd.Edition.Aug.2006.chm;最全正则表达式教程、最好正则表达式教程.doc,文档只用于学术交流!

    正则表达式测试器及教程

    - **书籍**:《Mastering Regular Expressions》是一本深入讲解正则表达式的经典之作。 - **编程语言支持**:大多数编程语言(如JavaScript、Python、Java)都有内置的正则表达式支持,了解各自的特点和差异有助于...

    C#正则表达式快速入门.pdf

    此外,《Mastering Regular Expressions》这本书也是学习正则表达式的经典之作。 总之,掌握正则表达式是每个C#开发者必备的技能之一,它不仅能够提升代码的效率,还能简化复杂的文本处理任务。通过阅读《C#正则...

    正则表达式素材5

    “正则表达式.chm”文件可能包含了一份电子版的教材或教程,CHM是Microsoft的帮助文件格式,用于组织和展示信息。在这里,它可能包含了书中的章节、示例和练习,方便读者查阅和学习。通过这个文件,读者可以深入理解...

    超经典正则表达式测试工具

    "超经典正则表达式测试工具"提供了对正则表达式的全方位测试和学习环境,帮助用户理解和应用正则表达式。 该工具具有以下主要功能: 1. **测试正则表达式**:用户可以输入自定义的正则表达式,然后在工具中实时...

    regexp正则表达式正则表达式正则表达式

    - **在线教程**:许多网站提供免费的正则表达式教程和练习。 - **社区论坛**:如 Stack Overflow 等技术论坛,可以找到大量关于正则表达式的讨论和实例。 通过系统地学习和实践,你可以掌握正则表达式的各种技巧,...

    正则表达式 (经典收藏)

    正则表达式 (经典收藏) 高效正则表达式 正则表入门 正则表教程

    正则表达式详细教程加测试工具

    《精通正则表达式.pdf》这本书是学习正则表达式的经典教材,它涵盖了正则表达式的各种核心概念,如字符类、量词、分组、断言以及回溯等。通过阅读这本书,你可以系统地学习到正则表达式的语法和用法,进一步提升你在...

Global site tag (gtag.js) - Google Analytics