兔子专栏

刘晓逸(liuxiaoyi666)的小地盘

用户操作
[即时聊天] [发私信] [加为好友]
刘晓逸ID:liuxiaoyi666
71075次访问,排名1449好友121人,关注者437
微软最有价值专家,asp,asp.net
liuxiaoyi666的文章
原创 51 篇
翻译 0 篇
转载 0 篇
评论 91 篇
最近评论
wwd252:支持这种文章,lz能多写点就好了
liuxiaoyi666:我在有一次部门内部的讲课中,我提到的方法是先分析涉众利益,根据利益相关度及权重进行计算,不过通常我所说的计算并非真实的计算,当然如果真的有数据的可以算的,这个的思考模型来自于决策论
holiday1001:分析团队人员的兴趣点很重要, 用什么计算公式去分析呢?
coder_java:老师您好,我想请教如何在上传时验证服务器端文件是否已经存在,若存在弹出js提示是否覆盖,确定时,就覆盖已有的文件,取消就返回浏览状态,若有示例能否发到小弟email:pigdone@126.com, 谢谢!
loveblack123:好文
文章分类
收藏
    相册
    朋友
    lingll的专栏
    孟子E章
    我小弟寻斌
    殷鹏
    特种兵
    莫依
    虎子的blog
    超级笨狼
    陈锐新书
    龙的天空
    自己的其他blog
    博客园的blog
    存档
    软件项目交易
    订阅我的博客
    XML聚合  FeedSky
    订阅到鲜果
    订阅到Google
    订阅到抓虾
    订阅到BlogLines
    订阅到Yahoo
    订阅到GouGou
    订阅到飞鸽
    订阅到Rojo
    订阅到newsgator
    订阅到netvibes

    原创 正则表达式的原理和介绍,应用(概念篇)收藏

    新一篇: 关于WEB使用media player的一些说明 | 旧一篇: 关于EMAG WEB的计划

    极小元的概念
    定义:对于任何的集合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写一下,简单的事例
    <html>

    <head>

    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <title>新建网页 3</title>
    </head>
    <script language="vbscript">
    str="ssuuiadseestiaosu"
    dim regex,match
    set regex=new RegExp '设置正则对象
    regex.Global = True     '设置全局匹配
    regex.IgnoreCase = false  '设置区分大小写,如果false 是区分大小写的
    regex.pattern="[a-z]"     '设置匹配内容
    set mm=regex.execute(str)  '执行
    for each match1 in mm     '在数组中查看
    document.write match1
    document.write("<br>")
    document.write match1.FirstIndex
    document.write("<br>")
    next
    </script>
    <body>

    </body>

    </html>

    发表于 @ 2004年12月25日 14:42:00|评论(loading...)|编辑

    新一篇: 关于WEB使用media player的一些说明 | 旧一篇: 关于EMAG WEB的计划

    评论

    #8988 发表于2004-12-26 01:35:00  IP: 61.161.125.*
    文章中,对集合与元素的描述的有错.
    S1∈S2 不应该用∈符号,∈是表示某元素包含于某集合中,而S1与S2是两个集合,所以应该用子集或真子集符号表示.
    #沃英杰 发表于2004-12-25 14:45:00  IP: 202.118.194.*
    支持
    #兔 发表于2004-12-26 15:04:00  IP: 61.49.133.*

    显然楼上没学过极小元,极小元是S1 表示为S1:{x,y,z)而S2是{{x,y,z},t,v,b)
    符合S1∈S2 ,这也是我为什么要写这个的道理了,对匹配的理解不清楚导致了很多的问题
    #liuxiaoyi666 发表于2004-12-26 15:19:00  IP: 61.49.133.*
    元是也是个集合,这个集合并不是S2的子集
    #cxy 发表于2005-04-20 00:17:00  IP: 222.245.13.*
    收藏. 以后读
    发表评论  


    当前用户设置只有注册用户才能发表评论。如果你没有登录,请点击登录
    Csdn Blog version 3.1a
    Copyright © 刘晓逸