zoukankan      html  css  js  c++  java
  • 正规式定义

    正则表达式
             正则表达式最早是由数学家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|…      "或"的抽取律
  • 相关阅读:
    Dynamics CRM安装教程一:域环境准备
    C#判断日期是否合法
    Visual Studio 2015 无法加载.Net FrameWork4.6.2
    Dynamics CRM产生公共签名,避免每次插件换环境重新输入签名密钥账号密码
    Dynamics CRM使用JS隐藏自定义按钮
    <3>Python开发——列表(list)
    <2>Python开发——字符串(str)
    <1>Python开发——基础入门
    Sed命令详解
    国内搭建Minikube测试环境
  • 原文地址:https://www.cnblogs.com/mario/p/1736621.html
Copyright © 2011-2022 走看看