第一部分:-----------------正则表达式(res)通常被错误地认为是只有少数人理解的一种神秘语言.在表面上它们确实看起来杂乱无章,如果你不知道它的语法,那么它的代码在你眼里只是一堆文字垃圾而已.实际上,正则表达式是非常简单并且可以被理解.读完这篇文章后,你将会通晓正则表达式的通用语法.支持多种平台正则表达式最早是由数学家stephen kleene于1956年提出,他是在对自然语言的递增研究成果的基础上提出来的.具有完整语法的正则表达式使用在字符的格式匹配方面上,后来被应用到熔融信息技术领域.自从那时起,正则表达式经过几个时期的发展,现在的标准已经被iso(国际标准组织)批准与被open group组织认定.正则表达式并非一门专用语言,但它可用于在一个文件或字符里查找与替代文本的一种标准.它具有两种标准:基本的正则表达式(bre),扩展的正则表达式(ere).ere包括bre功能与另外其它的概念.许多程序中都使用了正则表达式,包括xsh,egrep,sed,vi以及在unix平台下的程序.它们可以被很多语言采纳,如html 与xml,这些采纳通常只是整个标准的一个子集.比你想象的还要普通随着正则表达式移植到交叉平台的程序语言的发展,这的功能也日益完整,使用也逐渐广泛.网络上的搜索引擎使用它,e-mail程序也使用它,即使你不是一个unix程序员,你也可以使用规则语言来简化你的程序而缩短你的开发时间.正则表达式101很多正则表达式的语法看起来很相似,这是因为你以前你没有研究过它们.通配符是re的一个结构类型,即重复操作.让我们先看一看ere标准的最通用的基本语法类型.为了能够提供具有特定用途的范例,我将使用几个不同的程序.
第二部分:----------------------字符匹配正则表达式的关键之处在于确定你要搜索匹配的东西,如果没有这一概念,res将毫无用处.每一个表达式都包含需要查找的指令,如表a所示.table a: character-matching regular expressions格式说明:--------------- 操作:解释:例子:结果:----------------.match any one charactergrep .ord sample.txt will match “ford”, “lord”, “2ord”, etc. in the file sample.txt.----------------- [ ]match any one character listed between the bracketsgrep [cng]ord sample.txtwill match only “cord”, “nord”, and “gord”--------------------- [^ ]match any one character not listed between the bracketsgrep [^cn]ord sample.txtwill match “lord”, “2ord”, etc. but not “cord” or “nord”grep [a-za-z]ord sample.txtwill match “aord”, “bord”, “aord”, “bord”, etc.grep [^0-9]ord sample.txtwill match “aord”, “aord”, etc. but not “2ord”, etc.重复操作符重复操作符,或数量词,都描述了查找一个特定字符的次数.它们常被用于字符匹配语法以查找多行的字符,可参见表b.... 下一页