正规式定义

正则表达式
         正则表达式最早是由数学家Stephen Kleene于1956年提出,他是在对自然语言的递增研究成果的基础上提出来的。具有完整语法的正则表达式使用在字符的格式匹配方面上,后来被应用到熔融信息技术领域。自从那时起,正则表达式经过几个时期的发展,现在的标准已经被ISO(国际标准组织)批准和被Open Group组织认定。
         正则表达式并非一门专用语言,但它可用于在一个文件或字符里查找和替代文本的一种标准。它具有两种标准:基本的正则表达式(BRE),扩展的正则表达式(ERE)。ERE包括BRE功能和另外其它的概念。
         许多程序中都使用了正则表达式,包括xsh,egrep,sed,vi以及在UNIX平台下的程序。它们可以被很多语言采纳,如HTML 和XML,这些采纳通常只是整个标准的一个子集。 
正规表达式(regular expression)是说明单词的模式(pattern)的一种重要的表示法(记号),是定义正规集的工具。

正规式也称正则表达式,也是表示正规集的数学工具。下面是正规式和它所表示的正规集的递归定义。定义(正规式和它所表示的正规集):
设字母表为Σ,辅助字母表Σ`={Φ,ε,|,·,*,(,),}。
① ε和Φ都是Σ上的正规式,它们所表示的正规集分别为{ε}和{ };
② 任何a∈Σ,a是Σ上的一个正规式,它所表示的正规集为{a};
③ 假定e1和e2都是Σ上的正规式,它们所表示的正规集分别为L(e1)和L(e2),那么,(e1), e1|e2, e1·e2, e1*也都是正规式,它们所表示的正规集分别为L(e1), L(e1)∪L(e2), L(e1)L(e2)和(L(e1))*。
④ 仅由有限次使用上述三步骤而定义的表达式才是Σ上的正规式,仅由这些正规式所表示的字集才是Σ上的正规集。

正规集也就是有正规式可以确定的串的集合。

设r,s,t为正规式,正规式服从以下代数规律
① r|s=s|r        "或"服从交换律
② r|(s|t)=(r|s) | t    "或"的可结合律
③ (rs)t=r(st)      "连接"的可结合律
④ r(s|t)=rs|rt;(s|t)r=sr|tr      分配律
⑤ εr=r, rε=r       ε是"连接"的恒等元素零一律
⑥ r|r=r;r*=ε|r|rr|…      "或"的抽取律

posted on 2010-05-16 10:38  Yuxiaoshan  阅读(4620)  评论(0编辑  收藏  举报

导航