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

正则表达式构建求助:{a,b,c}上满足#a(w)≥2且#b(w)≥2的语言

正则表达式解决方案

匹配规则对应的正则表达式

^(?=(?:[^a]*a){2})(?=(?:[^b]*b){2})[a-c]+$

正则各部分解释

  • ^ 和 $:锚定字符串的开头与结尾,确保匹配完整单词,而非单词片段
  • (?=(?:[^a]*a){2}):正向预查断言,验证字符串至少包含2个a。[^a]*匹配任意数量的非a字符(即b或c),随后匹配一个a,整个组重复2次,保证能找到至少2个独立的a
  • (?=(?:[^b]*b){2}):正向预查断言,验证字符串至少包含2个b,逻辑与上面的a断言一致
  • [a-c]+:匹配由a、b、c组成的任意长度字符串(因预查限制了至少2个a和2个b,实际匹配的字符串长度至少为4)

验证说明

该正则会匹配所有符合以下条件的单词:

  • 仅由a、b、c组成
  • 包含至少2个a
  • 包含至少2个b
  • c的数量无限制(可出现0次或多次,位置任意)

示例中的aaabbb、abbaba、bbaaab等都能被匹配;而aaa(无b)、abb(仅1个b)、ccab(仅1个a)这类不满足条件的字符串会被排除。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.24 19:39:53