CintaBox 芯塔盒在线工具箱

正则 ↔ 自动机演示器(ε-NFA / 子集构造 DFA / 最小化 · 逐步动画) — 免费在线工具

正则 ↔ 自动机演示器(ε-NFA / 子集构造 DFA / 最小化 · 逐步动画)是 CintaBox 芯塔盒在线工具箱提供的免费在线工具:写一个正则表达式,一步一步看它怎么变成自动机:Thompson 构造出 ε-NFA,子集构造变成 DFA,分割法最小化 —— 每一步都有中文解释,转换表能直接对作业答案;再拿任意字符串在三种自动机上逐字符跑,看它为什么被接受或拒绝。

⭐ **三段构造全过程**:Thompson(按龙书:连接时合并状态)一块块拼出 ε-NFA;子集构造逐格填表,每一格写出 move 和 ε-闭包、是新状态还是已有的;最小化按「接受 / 非接受」分组,一轮轮拆开,每轮分组用颜色标在图上。子集构造时下面的 DFA 转换表跟着回放一行行填出来,和手算作业一个样。键盘 ← → 单步、空格播放;「分享」把正则、记号、字符串编进链接,「PNG」下载状态图。

⭐ **直接写 NFA 也行**:作业题给的是 NFA 图?一行一条「起点 字符 终点」写进去(ε、多个接受状态、q0 / A 这类状态名都支持),照样去 ε、子集构造、最小化,还能和一个正则比是不是同一个语言。ε 消除逐个状态回放:先取 ε-闭包,再看读每个字符能到哪。

⭐ **比较两个正则**:判断是不是同一个语言,不等价时给出最短的反例串(哪个接受、哪个不接受);列出语言里最短的 12 个串和不在语言里的最短 12 个串;还能用状态消除法把最小 DFA 变回正则。

⭐ **两种记号都认**:编程风格(| 是或,+ 是一次或多次,支持 {n,m})和教材风格(a+b 就是 a 或 b),按你的课本选;还支持字符类 [a-c]、ε、∅、「.」。

⭐ **准不准**:和 Python 的 re 在 108 个随机正则上逐个比过字母表上所有短串(九万多个串,ε-NFA、DFA、最小 DFA 三个都比);最小 DFA 的状态数用另一条完全不同的路(Glushkov 位置自动机 + Brzozowski 两次反转确定化)独立算出来再比。

全在浏览器里算,不上传。只想在一段文本里测试正则匹配,请用站内「正则测试」。无需注册、无需安装软件,打开网页即可使用,处理全程在浏览器本机完成,文件不上传服务器。

立即使用 正则 ↔ 自动机演示器(ε-NFA / 子集构造 DFA / 最小化 · 逐步动画) →

功能特点

使用步骤

  1. 在浏览器中打开「正则 ↔ 自动机演示器(ε-NFA / 子集构造 DFA / 最小化 · 逐步动画)」工具页面(点击本页“立即使用”按钮);
  2. 按页面提示输入内容或选择文件;
  3. 工具在浏览器本机即时处理并展示结果;
  4. 查看、复制或下载处理结果。

常见问题

正则 ↔ 自动机演示器(ε-NFA / 子集构造 DFA / 最小化 · 逐步动画)是免费的吗?
是的,正则 ↔ 自动机演示器(ε-NFA / 子集构造 DFA / 最小化 · 逐步动画)完全免费,无需注册、无广告干扰,打开即用。
我的文件/数据会被上传到服务器吗?
不会。正则 ↔ 自动机演示器(ε-NFA / 子集构造 DFA / 最小化 · 逐步动画)的处理全程在你的浏览器本机完成,文件与数据不上传服务器,断网也能用,隐私安全。
需要安装软件或插件吗?
不需要。任何现代浏览器(Chrome / Edge / Firefox / Safari)直接打开网页即可使用,手机浏览器同样支持。

相关工具