表示"以字符a 开头且仅由字符 a、b 构成的所有字符串"的正规式为( )。A

最全题库2022-08-02  76

问题 表示"以字符a 开头且仅由字符 a、b 构成的所有字符串"的正规式为(  )。A.a*b*B.(a|b)*a C.a(a|b)* D.(ab)*

选项 A.a*b*
B.(a|b)*a
C.a(a|b)*
D.(ab)*

答案 C

解析 本题考查程序设计语言中正规式的基本知识。正规式:一种表示正规集的工具,正规式是描述程序语言单词的表达式,对于字母表∑。正规集可以递归定义如下。① ε是一个正规式,它表示集合L(ε)={ε}。② 若a是∑上的字符,则a是一个正规式,它所表示的正规集L(a)={a}。③ 若正规式r和s分别表示正规集L(r)、L(s),则(a)r|s是正规式,表示集合L(r)∪L(s); (b)r·s是正规式,表示集合L(r)L(s);(c)r*是正规式,表示集合(L(r))*; (d)(r)是正规式,表示集合L(r)。运算符“|”、“·”、“*”分别称为“或”、“连接”和“闭包”。在正规式的书写中,连接运算符“·”可省略。运算符的优先级从高到低顺序排列为:“*”、“·”、“|”。运算符“|”表示“或”、并集。“*”表示*之前括号里的内容出现0次或多次。a*b*={a} *{b} * 表示由若干个a后跟若干个b所组成的任何长度的字符串;(alb)*a ={a,b} *{a} 表示以a结尾,前面有任意个a或b组成的字符串;a(alb)*={a}{a,b}* 表示a后面跟任意个a或b组成的字符串 ;(ab)*={ab}* 表示每个ab所组成的任何长度的字符串(ab不能分离);ABCD四个选项只有C能保证以a开头。
转载请注明原文地址:https://tihaiku.com/congyezige/2416805.html

最新回复(0)