You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何设计FSM(REGEX)识别包含奇数次重叠00模式的01序列?

01序列00奇数次出现识别方案

状态定义

我们定义4种状态,每个状态同时跟踪两个核心信息:当前已出现的00模式累计次数的奇偶性、当前输入的最后一位是否为0:

  • S0:初始状态,累计00出现次数为偶数,最后一位输入不是0(或无输入)
  • S1:累计00出现次数为偶数,最后一位输入是0
  • S2:累计00出现次数为奇数,最后一位输入不是0
  • S3:累计00出现次数为奇数,最后一位输入是0

其中S2、S3为接受状态,只要序列处理完成后处于这两个状态,就表示符合要求。

状态转换表

当前状态输入为0的下一个状态输入为1的下一个状态是否为接受状态
S0S1S0否
S1S3S0否
S2S3S2是
S3S1S2是

对应正则表达式

匹配所有符合要求的01序列的正则表达式如下,适配00模式重叠计数的规则:
^1*(?:01*01*)*01*0(?:1*(?:01*01*)*01*0)*1*$

内容的提问来源于stack exchange,提问作者Nicolas Martinez

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 00:57:03