【发布时间】:2021-02-21 04:24:17
【问题描述】:
编写一个表达式来匹配
a、aba、ababba、ababbabbba等字符串。连续b的数量在每个a之后一个接一个地增加。
我正在学习正则表达式并在这个正则表达式测验中苦苦挣扎了好几天,但仍然无法完全正确。
根据描述,正则表达式应该匹配并失败以下情况:
通过案例:
aabaababbaababbabbbaababbabbbabbbba
失败案例:
aaabbaaaabbabababaababbba
^a((b(?2)?)a)?(?1)*$
我正在考虑使用递归,但我不知道如何使递归在遇到每个 a 后只添加一个 b。所以我的解决方案也通过了abba和ababbba等。
有什么想法吗?我错过了什么?
【问题讨论】:
-
您必须使用正则表达式吗?
-
@TimBiegeleisen 是的,它只接受正则表达式作为答案:(