2016-10-07 27 views
-2

這是我給出的問題:編寫一個正則表達式來識別具有abc順序的任意數量的a,b和c的字符串。但是,a,b和c中的任何數量都可以。正則表達式是什麼

正面的例子:

dddaddbcdd
DDDD

負例子:

dabcddadbdd

因爲第二序列了B ut沒有完成。

ddcdd因爲C沒有領導AB
ddaddbddcaddbcdd因爲2 ABC序列

這是我已經試過:

[^abc]+(a|b|c)*[^abc] 
+0

爲什麼'ddaddbddcaddbcdd'負?你說「任何數量的a,b和c」。那麼它只是一組abc,還是可以是多個? –

+0

好的問題...從我的理解應該是單一的。 – user3634329

+1

我投票結束這個問題作爲題外話,因爲它缺乏對正則表達式的基本理解。 – Qix

回答

0

如果我明白你的問題很好,這個想法是, a必須在bb之前c如果它們中的任何一個存在。另外在任何地方可能有一些d

如果是這樣的話,那麼你可以使用這樣的正則表達式:

^d*(?:a+d*b+d*c+d*)?$ 

Working demo