2017-03-31 126 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!