欢迎来到天天文库
浏览记录
ID:45069843
大小:140.50 KB
页数:12页
时间:2019-11-09
《linux课件--正则表达式》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、正则表达式简介历史正则表达式(REs)最早是由数学家StephenKleene于1956年提出,他是在对自然语言的递增研究成果的基础上提出来的。具有完整语法的正则表达式使用在字符的格式匹配方面上,后来被应用到信息技术领域。自从那时起,正则表达式经过几个时期的发展,现在的标准已经被ISO(国际标准组织)批准和被OpenGroup组织认定。内容正则表达式并非一门专用语言,但它可用于在一个文件或字符里查找和替代文本的一种标准。它具有两种标准:基本的正则表达式(BRE),扩展的正则表达式(ERE)。ERE包括BRE功能和另外其它的概念。许多程序中都使用了正则表达式,包括xsh,egrep
2、,sed,vi以及在UNIX平台下的程序。它们可以被很多语言采纳,如HTML和XML,这些采纳通常只是整个标准的一个子集用法正则表达式的关键之处在于确定你要搜索匹配的东西,如果没有这一概念,Res将毫无用处每一个表达式都包含需要查找的指令字符匹配见下页表操作解释例子结果.Matchanyonecharactergrep.ordsample.txtWillmatch“ford”,“lord”,“2ord”,etc.inthefilesample.txt.[]Matchanyonecharacterlistedbetweenthebracketsgrep[cng]ordsample.
3、txtWillmatchonly“cord”,“nord”,and“gord”[^]Matchanyonecharacternotlistedbetweenthebracketsgrep[^cn]ordsample.txtWillmatch“lord”,“2ord”,etc.butnot“cord”or“nordgrep[a-zA-Z]ordsample.txtWillmatch“aord”,“bord”,“Aord”,“Bord”,etc重复操作符重复操作符,或数量词,都描述了查找一个特定字符的次数。它们常被用于字符匹配语法以查找多行的字符参见下页表锚锚是指它所要匹配的格式,如
4、下页图所示。使用它能方便你查找通用字符的合并。例如,我用vi行编辑器命令:s来代表substitute,这一命令的基本语法是:s/pattern_to_match/pattern_to_substitute/间隔Res中的另一可便之处是间隔(或插入)符号。实际上,这一符号相当于一个OR语句并代表
5、符号。下面的语句返回文件sample.txt中的“nerd”和“merd”的句柄:egrep“(n
6、m)erd”sample.txt间隔功能非常强大,特别是当你寻找文件不同拼写的时候,但你可以在下面的例子得到相同的结果:egrep“[nm]erd”sample.txt当你使用间隔功能与R
7、es的高级特性连接在一起时,它的真正用处更能体现出来一些保留字符Res的最后一个最重要特性是保留字符(也称特定字符)。例如,如果你想要查找“ne*rd”和“ni*rd”的字符,格式匹配语句“n[ei]*rd”与“neeeeerd”和“nieieierd”相符合,但并不是你要查找的字符。因为‘*’(星号)是个保留字符,你必须用一个反斜线符号来替代它,即:“n[ei]*rd”。其它的保留字符包括:一些保留字符^(carat).(period)[(leftbracket}$(dollarsign)((leftparenthesis))(rightparenthesis)
8、(pipe)
9、*(asterisk)+(plussymbol)?(questionmark){(leftcurlybracket,orleftbrace)backslash
此文档下载收益归作者所有