2017-03-31 65 views
1

我有一个关于正则表达式的问题(我提前道歉,如果有在术语的错误,我当然不是英文):找到一个更优雅的正则表达式的解决方案

我希望写一个正则表达式对于包含偶数个子字符串'ab'的所有字符串,假定字母来自集合{a,b,c}

例如:ababcbcabbcababcabcabcabbaccbccabccabc

到目前为止,这是我想出了用最短的表达: (b+a*c+aa*bb*(a+cb*)*ab)*a*

然而,这似乎有点令人费解,或许有人会提出一个更短或更优雅的表情?谢谢。

+0

是否必须是一个纯粹的正则表达式,或者你可以得到的“AB”的匹配数量,并检查这个数字是甚至? –

+0

@AndrewMorton纯粹是一个正则表达式 – LifeOfPai

回答

0

这不是更优雅,但它不依赖于c &应与任何字母一起使用。然而,当我离开这个决定由你,这是我的解决方案:

^((?!ab).)*(ab((?!ab).)*ab((?!ab).)*)*$ 

Here's an example on regexr!

相关问题