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

咨询正则表达式(0|10)*可接受的字符串范围

正则表达式(0|10)*匹配的字符串详解

嘿,这个问题问得特别好!我来给你把这个正则的匹配逻辑拆解明白,顺便解答你关于010能不能匹配的疑问~

首先,先拆解这个正则的核心结构:

  • (0|10)是一个选择分组,意思是这个位置要么匹配单个字符0,要么匹配连续的两个字符10;
  • 后面的*是量词,表示前面的分组可以重复0次、1次或者无限多次(包括空字符串的情况)。

能匹配的字符串类型

简单来说,所有可以通过把0和10这两个单元任意顺序、任意次数拼接起来的字符串,都能被这个正则匹配,举几个典型例子:

  • 空字符串(因为*允许分组匹配0次)
  • 单个0,或者多个0拼接:0、00、000...
  • 单个10,或者多个10拼接:10、1010、101010...
  • 0和10混合拼接:比如你问的010(先匹配0,再匹配10)、100(先10再0)、0100(0+10+0)、10010(10+0+10)等等,这些都完全符合规则。

不能匹配的字符串

反过来,只要字符串里出现了无法被0或10单元拆解的部分,就匹配失败,比如:

  • 单个1(没有任何分支能匹配单独的1)
  • 01(0之后的1无法匹配,也没有分支对应01)
  • 110(开头的两个1里,第一个1就找不到匹配的单元)
  • 011(末尾的两个1无法拆解)

所以你之前的误解是把分组的重复逻辑想窄啦,(0|10)*不是只能匹配单个0或单个10,而是可以把这两个单元随便组合重复,010当然是完全可以被匹配的哦~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 04:00:50