gpt4 book ai didi

regex - 我可以做两组相同数量的正则表达式匹配吗?

转载 作者:行者123 更新时间:2023-12-04 14:57:21 24 4
gpt4 key购买 nike

我想要一个匹配以下模式的正则表达式:

b
abc
aabcc
aaabccc

但不匹配以下任何一项:
ab
bc
aabc
abcc

基本上, /(a)*b(c){_Q_}/ ,其中 _Q_是第 1 组匹配的次数。我知道如何匹配第 1 组 内容 稍后在字符串中,但我如何匹配组 1 计数 ?

最佳答案

使用这个递归正则表达式:

^(a(?:(?1)|b)c)$|^(b)$

Demo on regex101

正则表达式可以进一步简化为:
^(a(?1)c|b)$

Demo on regex101

交替包括:
  • 基础案例 b
  • 递归案例a(?1)c匹配 a ,然后递归到第 1 组,然后匹配 c .第 1 组是交替本身,因此它可以包含更多对 ac ,或者递归以基本情况结束 b .
  • 关于regex - 我可以做两组相同数量的正则表达式匹配吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31910389/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com