为强调顺序的语言创建正则表达式

时间:2017-10-22 10:28:51

标签: regex regular-language

我试图为{A,B,C}之后的语言创建正则表达式,并且对于生成的每个有效字符串,它必须遵循A的顺序,然后是B,接着是C。因此,有效字符串是

A,AB,ABC,ABCA,ABCAB,ABCABC...

我想的是:

A(BC*)*

但它接受像

这样的字符串
ABAB

是不被接受的。我很感激一些帮助,因为我很难搞清楚正则表达式。

1 个答案:

答案 0 :(得分:0)

您可以将此正则表达式用于您的工作:

^(?:ABC)*A(?:BC?)?$

RegEx Demo

RegEx详细信息:

  • ^:开始
  • (?:ABC)*:匹配零次或多次ABC
  • A:匹配字母A
  • (?:BC?)?:后跟BBC
  • $:结束