2016-10-07 25 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