1 / 12

正则表达式

正则表达式. 简介. 历史. 正则表达式 (REs) 最早是由数学家 Stephen Kleene 于 1956 年提出,他是在对自然语言的递增研究成果的基础上提出来的。具有完整语法的正则表达式使用在字符的格式匹配方面上,后来被应用到信息技术领域。自从那时起,正则表达式经过几个时期的发展,现在的标准已经被 ISO( 国际标准组织 ) 批准和被 Open Group 组织认定。. 内容.

elmer
Download Presentation

正则表达式

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 正则表达式 简介

  2. 历史 • 正则表达式(REs)最早是由数学家Stephen Kleene于1956年提出,他是在对自然语言的递增研究成果的基础上提出来的。具有完整语法的正则表达式使用在字符的格式匹配方面上,后来被应用到信息技术领域。自从那时起,正则表达式经过几个时期的发展,现在的标准已经被ISO(国际标准组织)批准和被Open Group组织认定。

  3. 内容 • 正则表达式并非一门专用语言,但它可用于在一个文件或字符里查找和替代文本的一种标准。它具有两种标准:基本的正则表达式(BRE),扩展的正则表达式(ERE)。ERE包括BRE功能和另外其它的概念。 • 许多程序中都使用了正则表达式,包括xsh,egrep,sed,vi以及在UNIX平台下的程序。它们可以被很多语言采纳,如HTML 和XML,这些采纳通常只是整个标准的一个子集

  4. 用法 • 正则表达式的关键之处在于确定你要搜索匹配的东西,如果没有这一概念,Res将毫无用处 • 每一个表达式都包含需要查找的指令 • 字符匹配 • 见下页表

  5. 重复操作符 • 重复操作符,或数量词,都描述了查找一个特定字符的次数。它们常被用于字符匹配语法以查找多行的字符 • 参见下页表

  6. • 锚是指它所要匹配的格式,如下页图所示。使用它能方便你查找通用字符的合并。例如,我用vi行编辑器命令:s来代表substitute,这一命令的基本语法是: • s/pattern_to_match/pattern_to_substitute/

  7. 间隔 • Res中的另一可便之处是间隔(或插入)符号。实际上,这一符号相当于一个OR语句并代表|符号。下面的语句返回文件sample.txt中的“nerd” 和 “merd”的句柄: • egrep “(n|m)erd” sample.txt • 间隔功能非常强大,特别是当你寻找文件不同拼写的时候,但你可以在下面的例子得到相同的结果: • egrep “[nm]erd” sample.txt • 当你使用间隔功能与Res的高级特性连接在一起时,它的真正用处更能体现出来

  8. 一些保留字符 • Res的最后一个最重要特性是保留字符(也称特定字符)。例如,如果你想要查找“ne*rd”和“ni*rd”的字符,格式匹配语句“n[ei]*rd”与“neeeeerd” 和 “nieieierd”相符合,但并不是你要查找的字符。因为‘*’(星号)是个保留字符,你必须用一个反斜线符号来替代它,即:“n[ei]\*rd”。其它的保留字符包括:

  9. 一些保留字符 • ^ (carat) • . (period) • [ (left bracket} • $ (dollar sign) • ( (left parenthesis) • ) (right parenthesis) • | (pipe) • * (asterisk) • + (plus symbol) • ? (question mark) • { (left curly bracket, or left brace) • \ backslash

More Related