找到包含字母{a,b}上的子字符串aba的字符串的正则表达式? (形式语言理论)

时间:2011-10-03 05:10:46

标签: regex regular-language formal-languages

问题要求在字母{a,b}上找到包含子串aba的字符串的正则表达式。

这是否意味着任何事情可以先于/继续aba,以便正则表达式为:

(aUb)*(aba)*(aUb)*

或只是寻找的问题:

(aba)*

注意:U表示联合,*表示0次或更多次。

3 个答案:

答案 0 :(得分:4)

因为*表示0或更多,ε是第一语言,而你不想要它(它不包含aba)。您正在寻找(aUb)*aba(aUb)*

答案 1 :(得分:0)

子字符串定义为

  

名词

     

一个字符串,它是较长字符串的一部分

另请注意,第二个表达式是第一个表达式的子集。

答案 2 :(得分:0)

前者:至少包含aba一次的任何字符串。