首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

确定性有限自动机的正则表达式

确定性有限自动机(Deterministic Finite Automaton,DFA)是一种计算模型,用于描述和识别正则语言。它是一种抽象的计算机,具有有限个状态和输入字母表,通过状态转移函数根据输入逐步改变状态,最终判断是否接受输入字符串。

DFA的特点包括:

  1. 确定性:对于给定的输入和当前状态,只有一条确定的转移路径。
  2. 有限性:DFA的状态数是有限的,不会无限增长。
  3. 自动性:DFA能够自动地根据输入进行状态转移。

DFA的正则表达式是一种用于描述正则语言的表达式,它由一系列字符和操作符组成。正则表达式可以用来匹配和搜索文本中的模式,常用于文本处理、模式匹配和字符串验证等场景。

DFA的应用场景包括但不限于:

  1. 文本搜索和替换:通过正则表达式可以方便地在文本中搜索和替换指定模式的字符串。
  2. 表单验证:可以使用正则表达式对用户输入的表单数据进行验证,如邮箱、手机号、身份证号等格式的验证。
  3. 语法分析:在编译原理中,正则表达式常用于描述词法分析器中的词法规则。
  4. 数据提取:通过正则表达式可以从文本中提取特定格式的数据,如提取网页中的链接、提取日志文件中的关键信息等。

腾讯云提供了多个与正则表达式相关的产品和服务,包括:

  1. 云函数(Serverless Cloud Function):腾讯云云函数是一种事件驱动的无服务器计算服务,可以使用正则表达式作为触发器的匹配条件,实现自动触发函数执行。 产品链接:https://cloud.tencent.com/product/scf
  2. 云监控(Cloud Monitor):腾讯云云监控提供了对云资源的监控和告警功能,可以使用正则表达式定义监控指标的筛选条件。 产品链接:https://cloud.tencent.com/product/monitor
  3. 日志服务(Cloud Log Service):腾讯云日志服务可以帮助用户收集、存储、检索和分析日志数据,支持使用正则表达式进行日志数据的检索和过滤。 产品链接:https://cloud.tencent.com/product/cls

以上是关于确定性有限自动机的正则表达式的概念、分类、优势、应用场景以及腾讯云相关产品的介绍。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

【计算理论】非确定性有限自动机 ( NFA ) 转换成 确定性有限自动机 ( DFA )

, 与 可接受状态相对是不可接受状态 ; 二、确定性有限自动机 ( DFA ) 与 非确定性有限自动机 ( NFA ) 等价 确定性有限自动机 ( DFA ) 与 非确定性有限自动机 ( NFA...) 之间是相互等价 ; 确定性有限自动机 ( DFA ) 可以 看作是非确定性有限自动机 ( NFA ) ; 确定性有限自动机 给定一个输入 , 其输出时唯一 ; 非确定性有限自动机定义 包含...确定性有限自动机 定义中 ; NFA 后继状态 可以是 0 00 个 , 1 11 个 或 多个 , DFA 每个状态只能有 1 11 个后继状态 ; 确定性有限自动机 ( DFA ) 就是 特殊...非确定性有限自动机 ( NFA ) ; 可以证明非确定性有限自动机 ( NFA ) , 必定有一个 确定性有限自动机 ( DFA ) 与其等价 ; 三、非确定性有限自动机 ( NFA ) 转为 确定性有限自动机...消除不确定性 : 下面的表格就是将 非确定性有限自动机 ( NFA ) 转为 确定性有限自动机 ( DFA ) 结果 , 将状态集合当做一个新状态 , 新状态由之前 NFA 中不同状态组合而来

2.1K00

【计算理论】正则语言 ( 推广型确定性有限自动机 GNFA | 删除状态 | 确定性有限自动机 转为 正则表达式 )

文章目录 一、推广型确定性有限自动机 ( GNFA ) 引入 二、推广型确定性有限自动机 ( GNFA ) 删除状态 三、确定性有限自动机 ( DFA ) 转为 正则表达式 四、确定性有限自动机...引入 推广型确定性有限自动机 ( GNFA ) : 首先要构造一个推广一般型确定性有限自动机 , 每次消除一个状态 , 最后只剩下两个状态 , 此时箭头上正则表达式就是最终正则表达式 ;...推广型确定性有限自动机 ( GNFA ) 与 非确定性有限自动机 ( NFA ) 是等价 ; 二、推广型确定性有限自动机 ( GNFA ) 删除状态 ---- 给定一个 推广型确定性有限自动机...最后剩下就是 S 到 T 状态正则表达式 , 也是自动机正则表达式 ; 五、确定性有限自动机 ( DFA ) 转为 正则表达式 ( 2 ) 删除 状态 2 删除方法 ---- 1 ...., 任何 确定性有限自动机 都可以转为 正则表达式 , 非确定性有限自动机确定性有限自动机 又是等价 , 因此 有限自动机 都可以转为 正则表达式 ;

1K10
  • 【计算理论】计算理论总结 ( 非确定性有限自动机 NFA 转为确定性有限自动机 DFA ) ★★

    文章目录 一、非确定性有限自动机 ( NFA ) 转为 确定性有限自动机 ( DFA ) 二、转换方法与要点 一、非确定性有限自动机 ( NFA ) 转为 确定性有限自动机 ( DFA ) ---- 确定性有限自动机...( DFA ) 与 非确定性有限自动机 ( NFA ) 之间是相互等价 ; 确定性有限自动机 ( DFA ) 可以 看作是非确定性有限自动机 ( NFA ) ; 确定性有限自动机 给定一个输入 ,...其输出时唯一 ; 非确定性有限自动机定义 包含 确定性有限自动机 定义中 ; NFA 后继状态 可以是 0 个 , 1 个 或 多个 , DFA 每个状态只能有 1 个后继状态 ;...确定性有限自动机 ( DFA ) 就是 特殊确定性有限自动机 ( NFA ) ; 可以证明非确定性有限自动机 ( NFA ) , 必定有一个 确定性有限自动机 ( DFA ) 与其等价 ; 参考博客...转换方法 : 从 起始状态 开始推演运行 , 列出所有的 分支步骤 , 注意 计算分叉节点 , 会产生多个后续状态 , 此时就生成了 新状态 , 这些新状态就是非确定性有限自动机 转换成 确定性有限自动机

    89100

    【计算理论】计算理论总结 ( 非确定性有限自动机 NFA 转为确定性有限自动机 DFA | 示例 ) ★★

    文章目录 一、NFA 转 DFA 示例 1 二、NFA 转 DFA 示例 2 三、NFA 转 DFA 示例 3 一、NFA 转 DFA 示例 1 ---- 将下图确定性有限自动机 NFA 转为确定性有限自动机...3 , 这里形成了新状态 \rm \{1, 3\} , 写到下面表格中 ; \rm \{1, 3\} 状态 下读取 \rm a 字符结果是 \rm \{1, 3\} , 读取 \...DFA 如下 : 详细推理过程 : 【计算理论】非确定性有限自动机 ( NFA ) 转换成 确定性有限自动机 ( DFA ) 二、NFA 转 DFA 示例 2 ---- 将下图确定性有限自动机...NFA 转为确定性有限自动机 DFA ; NFA 状态集 \rm \{ 1,2,3 \} , 字符集 \rm \{ a,b \} ; 从 起始状态 1 开始分析 , 读取 \rm \varepsilon...DFA 如下 : 三、NFA 转 DFA 示例 3 ---- 将下图确定性有限自动机 NFA 转为确定性有限自动机 DFA ; NFA 状态集 \rm \{ 1,2 \} , 字符集

    63500

    【计算理论】可判定性 ( 确定性有限自动机接受问题 | 证明 “确定性有限自动机接受问题“ 可判定性 )

    文章目录 一、确定性有限自动机接受问题 二、证明 "确定性有限自动机接受问题" 可判定性 一、确定性有限自动机接受问题 ---- 确定性有限自动机 接受问题 , 首先将 计算问题 转化为 语言..., 因此得到如下 确定性有限自动机 语言 : \rm A_{DFA} = \{ : B \ 是 \ 确定性有限自动机 , 接受 w 字符串 \} \rm w 是字符串 ; \rm B...是确定性有限自动机 ; \rm B 接受 \rm w ; 将 \rm B 确定性有限自动机 所 接受 字符串 \rm w 放在一个集合中 , 就得到了 确定性有限自动机 \rm B...语言 \rm A_{DFA} ; 二、证明 “确定性有限自动机接受问题” 可判定性 ---- 证明上述计算问题是可判定 , 需要 构造一个图灵机 , 认识该语言 , 并且该图灵机一定是判定机...结果 , 因此 图灵机 \rm M 肯定是一个判定机 ; 因此 确定性有限自动机接受问题 , 是可判定 ; 问题不重要 , 重要是理解证明问题思路 , 过程 ;

    55700

    【计算理论】计算理论总结 ( 正则表达式转为非确定性有限自动机 NFA ) ★★

    | 正则表达式语言原子定义 | 正则表达式语言结构归纳 | 正则表达式语言示例 | 根据正则表达式构造自动机 ) 【计算理论】正则语言 ( 推广型确定性有限自动机 GNFA | 删除状态 | 确定性有限自动机...| 正则表达式递归定义 | 正则表达式语言原子定义 | 正则表达式语言结构归纳 | 正则表达式语言示例 | 根据正则表达式构造自动机 ) 【计算理论】正则语言 ( 推广型确定性有限自动机 GNFA...| 删除状态 | 确定性有限自动机 转为 正则表达式 ) 三、根据正则表达式构造自动机 ---- 根据下面的 正则表达式 构造 非确定性有限自动机 ( NFA ) , 刚好能 识别上述正则表达式表示语言...ab 对应自动机构造 : ① 自动机连接方式 : a 正则表达式语言 自动机 与 b 正则表达式语言 自动机 是串联在一起 ; ② 串联两个自动机状态 : 使用 \varepsilon...正则表达式语言结构归纳 | 正则表达式语言示例 | 根据正则表达式构造自动机 ) 【计算理论】正则语言 ( 推广型确定性有限自动机 GNFA | 删除状态 | 确定性有限自动机 转为 正则表达式

    50600

    【计算理论】可判定性 ( 非确定性有限自动机接受问题 | 证明 “非确定性有限自动机接受问题“ 可判定性 )

    文章目录 一、非确定性有限自动机接受问题 二、证明 "非确定性有限自动机接受问题" 可判定性 一、非确定性有限自动机接受问题 ---- 非确定性有限自动机 接受问题 , 首先将 计算问题 转化为...\rm B 语言 \rm A_{DFA} ; 二、证明 “非确定性有限自动机接受问题” 可判定性 ---- 任何 非确定性有限自动机确定性有限自动机 是等价 , 证明 “非确定性有限自动机接受问题...” 是可判定 , 需要 规约 成 上一篇博客 【计算理论】可判定性 ( 确定性有限自动机接受问题 | 证明 “确定性有限自动机接受问题“ 可判定性 ) 中证明确定性有限自动机接受问题” 是可判定..., 即输入 非确定性有限自动机 \rm B 所能接受字符串 \rm w , ① 自动机转化 : 将 非确定性有限自动机 \rm B 转为等价 确定性有限自动机 \rm C ; ②...规约过程 : 使用上一篇博客 【计算理论】可判定性 ( 确定性有限自动机接受问题 | 证明 “确定性有限自动机接受问题“ 可判定性 ) 算法判定转化之后 确定性有限自动机 \rm C ,

    70700

    【计算理论】计算理论总结 ( 正则表达式转为非确定性有限自动机 NFA | 示例 ) ★★

    文章目录 一、正则表达式转为非确定性有限自动机 NFA 要点 二、正则表达式转为非确定性有限自动机 NFA 示例 1 三、正则表达式转为非确定性有限自动机 NFA 示例 2 四、正则表达式转为非确定性有限自动机...NFA 示例 3 一、正则表达式转为非确定性有限自动机 NFA 要点 ---- 正则表达式转为非确定性有限自动机 NFA 流程 : ① 原子自动机 : 首先要构造 原子自动机 , 从 非接受状态 指向...箭头从 接受状态 指向 开始状态 ; 注意所有的接受状态 , 都要使用 \varepsilon 箭头指向开始状态 ; 二、正则表达式转为非确定性有限自动机 NFA 示例 1 ---- 将正则表达式...; 化简后结果 : 三、正则表达式转为非确定性有限自动机 NFA 示例 2 ---- 将正则表达式 \rm ( ( (00) ^* (11) ) \cup 01 )^* 转为 NFA ; 构造原子自动机...; 化简后结果 : 四、正则表达式转为非确定性有限自动机 NFA 示例 3 ---- 将正则表达式 \varnothing ^* 转为 NFA ; \varnothing ^* =\{ \varepsilon

    44800

    【计算理论】非确定性有限自动机 ( 计算过程 | 计算树 | 确定可接受字符串 | 设计非确定性有限自动机 | 空字符 )

    文章目录 一、非确定性自动机 计算过程 ( 计算树 ) 二、判定 非确定性自动机 接受字符串 三、自动机 设计要求 四、非确定性有限自动机设计 五、非确定性有限自动机确定性 有限自动机 比较 六...: 如果最后一排叶子结点上 , 都是 非接受状态 , 那么称 非确定性有限自动机 是 拒绝这个字符串 " 0101 " ; 三、自动机 设计要求 ---- 非确定性有限自动机 需求 : 字符集...: \Sigma = \{0 , 1\} ; 语言要求 : 接受字符串倒数第三个字符是 1 ; 分别设计一个确定性有限自动机和非确定性有限自动机 , 对它们进行比较 ; 四、非确定性有限自动机设计..., 倒数第三个字符是 1 ; 五、非确定性有限自动机确定性 有限自动机 比较 ---- 使用非确定性有限自动机 设计上述语言对应自动机非常方便简洁 , 其远远比确定性有限自动机方便 ; 非确定性有限自动机..., 自动机肯定不会接受该字符串 , 非确定性有限自动机中就可以不用考虑这种情况 ; ② 确定性有限自动机 : 但是在确定性有限自动机中 , 必须设计出该分支 , 当导数第三个字符是 0 情况

    66510

    【计算理论】自动机设计 ( 设计自动机 | 确定性自动机设计示例 | 确定性与非确定性 | 自动机确定性 )

    五、 设计自动机 ( 4 ) 状态 T 输入输出分析 六、 最优自动机 七、 自动机设计算法 八、 确定性 与 非确定性 九、 自动机确定性示例 一、 设计自动机 ( 语言要求 ) ---- 设计自动机..., 存在一种算法 , 用该算法生成一个 能识别给定语言 最优自动机 ; 八、 确定性 与 非确定性 ---- 1 ....确定性 思想 : 自然界一定是确定性 , 给定一个输入 , 必定对应唯一一个输出 ; 如果出现非确定输出 , 是由于人认知有限 , 没有发现其中未知变量 ; 随着科学认知发展 , 这些不确定性会消除...非确定性 思想 ( 主流 ) : 自然界是非确定 , 一个输入对应 不确定 个输出 ; 以量子力学为代表 ; 确定性有穷自动机 确定性 , 就是上述确定性思想应用 ; 下面要将 非确定性思想应用到...; 自动机确定性 : 不确定性自动机中 , 允许 空字符 或 1 个字符 输入 , 对应 0 个 或 多个输出 ;

    98110

    【计算理论】确定性有穷自动机 ( 自动机组成 | 自动机语言 | 自动机等价 )

    文章目录 一、确定性有穷自动机组成 二、确定性有穷自动机计算过程 三、确定性有穷自动机定义 四、自动机 语言 与 等价 五、自动机语言 示例 一、确定性有穷自动机组成 ---- DFA , 全称为 Deterministic...Finite Automaton , 确定性有穷自动机 ; 确定性 有穷自动机 组成 : 由以下 5 部分组成 , 放入集合中展示 \{ \quad Q , \quad \Sigma , \quad..., \delta \quad , q_0 , \quad F \quad \} ; ① Q 状态集 : 有限个状态 ; ② \Sigma 字母表 : 有限个字符集 , 长度有限字符串 ;...就可以得到自动机定义 ; 三、确定性有穷自动机定义 ---- 确定性又穷自动机定义 1 ....自动机组件 : ① Q 状态集 : 自动机有限个状态 , 其中有可接受状态 ( 双圈 ) , 不可接收状态 ( 单圈 ) ; ② \Sigma 字母表 : 有限个字符集 , 如 \{0 ,1

    81310

    确定性有限状态自动机开创者 Dana Scott:我获得图灵奖之前 26 年

    他们在 1959 年合作论文“Finite Automata and Their Decision Problems”(有限自动机与其判定性问题)提出了非确定自动机概念,被证明是计算理论科学研究中一个非常重要概念...1957 年,他们被选中在 IBM 约克镇高地研究中心进行暑期实习,一起研究有限状态自动机问题。...非确定性自动机与概率自动机不同。当它从一种状态转换到另一种状态时,它可以做出许多选择,而不是特定一种选择。所以,不必担心有行不通路径,因为只需找到其中一条成功路径。...为了证明非确定性自动机接受与确定性自动机相同字符串集,我们可以将所有状态幂集视为新状态,并在状态集上定义转换函数。当然,状态数量呈指数增长。...非确定性自动机有时更好用,因为它们需要状态要少得多。 夏天结束时,Scott 和 Rabin 一起参加了康奈尔大学一个逻辑学会议,几乎所有逻辑领域学者都出席了那次会议。

    38630

    【自然语言处理】NLP入门(九):1、正则表达式与Python中实现(9):自动机:⾮确定有限⾃动机与正则表达式

    有限自动机(Finite Automata, FA) 准备阅读天书: 定义   有限自动机是一种最基本、最简单自动机模型。...它由 一个有限状态集合、一个有限输入符号集合、状态转移函数、初始状态和终止状态集合组成。 确定性和非确定性 确定性有限自动机(DFA) 在每个状态下对给定输入符号只有一个确定转移路径。...\delta: Q \times \Sigma \rightarrow Q 是状态转移函数 q_0 \in Q 是唯一初始状态 F \subseteq Q 是一个终止状态集合 非确定性有限自动机...正则表达式识别:有限自动机是实现正则表达式匹配理论基础。 电路设计:Mealy和Moore机器可用于设计组合逻辑和时序逻辑电路。 文本处理:文本编辑器、拼写检查器等都可以使用有限自动机来识别模式。...线性有界自动机(Linear Bounded Automata, LBA) 定义   线性有界自动机是一种受存储空间限制确定性图灵机变体。

    8410

    【计算理论】Pumping 引理 ( 四个等价概念 | 自动机界限 | Pumping 引理简介 | Pumping 引理证明正则表达式 | Pumping 引理示例分析 )

    正则语言 : 给定一个语言 , 可以自动设计一个识别该语言 自动机 ; 该语言必须是一个 正则表达式 表达语言 ; 2 ....正则表达式可以转成自动机 : 先构造 接受单字符自动机 , 然后通过串联 并联 或 星计算 , 拼装成自动机 ; 这个转化成自动机是非确定性有限自动机 ( NFA ) , NFA 可以转成 确定性有限自动机...自动机可以转成正则表达式 : 给定一个自动机 , 逐个删除自动机状态 , 最后删除到只剩下开始状态 与 接受状态 两个状态 , 开始状态 读取 正则表达式 跳转到接受状态 , 这个正则表达式就是自动机转成...; 确定性有限自动机 ( DFA ) 与 非确定性有限自动机 ( NFA ) 等价 , NFA 与 扩展型确定性有限自动机 ( GNFA ) 是等价 , GNFA 可以写成正则表达式语言 ( 正则语言...自动机界限 : 自动机 不是万能 , 它有一个界限 , 有的语言自动机可以识别 , 有的语言自动机无法识别 , 这样就需要给有限自动机确定一个界限 ; 2 .

    81320

    Leetcode No.65 有效数字(有限状态自动机

    二、解题思路:有限状态自动机 预备知识 确定有限状态自动机(以下简称「自动机」)是一类计算模型。它包含一系列状态,这些状态中: 有一个特殊状态,被称作「初始状态」。...一个自动机,总能够回答某种形式「对于给定输入字符串 S,判断其是否满足条件 P」问题。在本题中,条件 P 即为「构成合法表示数值字符串」。...自动机驱动编程,可以被看做一种暴力枚举方法延伸:它穷尽了在任何一种情况下,对应任何输入,需要做事情。 自动机在计算机科学领域有着广泛应用。...在算法领域,它与大名鼎鼎字符串查找算法「KMP 算法」有着密切关联;在工程领域,它是实现「正则表达式基础。 问题描述 在 C++ 文档 中,描述了一个合法数值字符串应当具有的格式。...结合数值字符串应当具备格式,将自动机转移过程以图解方式表示出来: 比较上图与「预备知识」一节中对自动机描述,可以看出有一点不同: 我们没有单独地考虑每种字符,而是划分为若干类。

    52930

    【计算理论】计算复杂性 ( 阶段总结 | 计算理论内容概览 | 计算问题有效性 | 语言与算法模型 | 可计算性与可判定性 | 可判定性与有效性 | 语言分类 ) ★

    , 可计算部分 , 计算复杂性部分 ; 形式语言与自动机 内容 : 自动机 , 确定性有限自动机 , 非确定性有限自动机 , 正则语言 , 泵引理 , 上下文无关语法 , 下推自动机 , 都属于 形式语言...与 自动机 部分 ; 可计算 内容 : 图灵机 , 确定性图灵机 , 非确定性图灵机 , 丘奇-图灵命题 , 可判定性 , 可计算性 等问题 ; 计算复杂性 内容 : 时间复杂性 , 模型间时间复杂性关系...可以执行完毕 , 得到一个确定结果算法 ; 三、语言 与 算法模型 ---- 语言 与 算法模型 : ① 正则语言 ( 自动机 ) : \rm L_r = L(a^*b^*) , 该语言是正则表达式语言...; \rm r 下标含义是 regular 正则 ; 正则语言参考 : 【计算理论】正则语言 ( 正则表达式原子定义 | 正则表达式递归定义 | 正则表达式语言原子定义 | 正则表达式语言结构归纳...| 正则表达式语言示例 | 根据正则表达式构造自动机 ) ② 上下文无关语言 ( 下推自动机 ) : \rm L_{CFL} = \{ a^nb^n : n \geq 0 \} , 该语言不是正则表达式语言

    61100

    【计算理论】下推自动机 PDA ( 上下文无关语言 CFL 泵引理 | 泵引理反证示例 | 自动机扩展 )

    CFL , 也可能不是 CFL ; 如果证明 某 语言不是 上下文无关语言 ( CFL ) , 先假设该语言是 CFL , 假如不符合上述 3 条件 , 说明假设不成立 , 该语言不是 CFL ; 正则表达式...确定性优先自动机 ( DFA ) 最小化 : 确定性有限自动机 ( DFA ) 有算法可以将其最小化 , 可以找到一个最小的确定性优先自动机 与 原来 确定性有限自动机 ( CFG ) 等价 ; (...等价 确定性有限自动机 DFA 所识别的语言是相同 ) 2 ....语言 与 计算模型 : ① 正则语言 : 对应计算模型是 有限自动机 ( FA ) , 包括 确定性有限自动机 ( DFA ) , 非确定性有限自动机 ( NFA ) ; ② 上下文无关语言 : 对应计算模型是...自动机演化 ① 下推自动机 ( PDA ) : 下推自动机 ( PDA ) 比 确定性有限自动机 ( DFA ) 多了一个栈结构 ; ② 图灵机 : 图灵机 比 下推自动机 多了一个栈 , 图灵机 有

    83810

    【计算理论】上下文无关语法 ( 代数表达式 | 代数表达式示例 | 确定性有限自动机 DFA 转为 上下文无关语法 )

    确定性有限自动机 DFA 转为 上下文无关语法 I . 代数表达式 语法 ---- 1 ....最终将这些语法合并在一起 ; 上下文无关语法 与 自动机 : 如果给定语言是正则语言 , 是由正则表达式表达 , 能够找到一个自动机可以识别该语言 , 首先将语言转换成自动机 , 将自动机转化为上下文无关语法...确定性有限自动机 DFA 转为 上下文无关语法 ---- 1 ....确定性有限自动机 ( DFA ) 转为 上下文无关语法 ( CFG ) : 将 确定性有限自动机 ( DFA ) 指令 , 转为 对应 上下文无关语法 ( CFG ) 规则 : \delta ( q_i...自动机 状态跳转 转换成 规则 示例 : 上图中 确定性有限自动机 , 开始状态 A 读取 1 字符 转化成 B 状态 , 表示成规则就是 R_A \to 1R_B 3 .

    43920

    己动手写编译器:GoLex程序基本情况介绍

    本节我们目的是,在给定正则表达式后,将其转换为非确定性有限状态自动机数据结构,后者会进一步生成一个跳转表,从而实现字符串匹配功能。...%% 在编译器开发中有一系列工具链,链条中第一个叫lex, 它作用是你可以将字符串识别对应正则表达式输入到一个文件中,例如上面那样,然后执行lex,后者读入文件,然后输出基于C语言代码文件,这个代码文件实际上讲正则表达式转换成了对应可执行...我们完成代码将会读取这条语句,然后逐个解析其中字符,最后构建一个类似如下确定性有限状态自动机: 对于这次项目完成后具体功能演示,大家可以在B站搜索coding迪斯尼。...RegParser跟前面实现词法分析一样,用于识别token组成然后构建有限状态自动机,它同样要基于特定语法规则对正则表达式字符串进行识别,具体内容我们后面章节在详解。...,上面信息输出主要由debugger.go来实现,最后输出是NFA,也就是有限状态自动机信息: 可以看到其打印信息跟我们上面给出状态机跳转信息一致,下一节我们将进入到代码具体实现讲解

    41720
    领券