阿标在线[ 正则表达式的原理和介绍,应用(概念篇) ]www.abasp.com 建设技术...

来源:百度文库 编辑:神马文学网 时间:2024/04/26 07:50:13
正则表达式的原理和介绍,应用(概念篇)
[ 作者:佚名 | 转贴自:本站原创 | 点击数: 15 | 更新时间:2004-12-31 | 文章录入:阿标 ] 【字体:小大】
极小元的概念
定义:对于任何的集合S1与S2,当S1∈S2且S1∩S2=空(没有空这个符号,我用中文字空代替)时,则称S1为S2的一极小元。
OK说完了定义,我们来说说关于正则匹配的东东,可以把要寻找的那个字符串看成一个集合S1,而要寻找的是一个极小元,也就是一个子集
而离散的正则定理:每个不空的集合,都有一极小元,明确的说出了,正则匹配的道理,我们要去寻找的是一个子集,也就是把大的字符串进行了分割,而其元素为一个个小的字符串子集
正则公理的数学表达式:A≠空 推出 (存在x)(x∈A∧x∩A=空)
现在是编译原理篇,编译原理是根据离散的内容而来的
首先是要说正规文法和有限自动机
正规文法(Chomsky 3型文法)
正规式(Regular Expression):
定义:设A是非空的有限字母表,则:
1)任意,空,全集都是正规式
2)若α,β是正则,则α|β,α·β,α*,β*也是正则(关于这个是涉及到文法的问题了,也就是大家常用的w+之类的东东了)
3)正则只能通过有限次使用1,2规则而获得
写点儿正规式大家都熟悉的α=a+b+c+所代表的正规集为L(α),它可以写作
L(α)={abc,aabc,abc,abcc,aaabc…}看到这里大家如果用过正则的话,可以很明白的看出来联系了
关于正规集的一些数学方面的东东我就不多说了,比如交换率,结合率之类的
而关于多个一个一长串的比如用或语句进行的东西还需要进行方程组的运算,不过说了
其实这里还有一个概念就是当你用while之类的语句的时候其实就是底层在用正则公式,而js或vbs用正则之所以慢是因为多重的正则寻找,就是正则下的正则,可以看看木狐狸的一个寻找的最优公式的贴子,在多重寻找之后速度自然就慢了
现在用VBS写一下,简单的事例



新建网页 3