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

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

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

参考解析

解析:本题考查程序设计语言中正规式的基本知识。正规式:一种表示正规集的工具,正规式是描述程序语言单词的表达式,对于字母表∑。正规集可以递归定义如下。①ε是一个正规式,它表示集合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开头。故正确答案为:C

相关考题:

StringBufferreverse();表示()。 A.字符串反转B.字符串清空C.字符串的赋值D.字符串删除

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

利用ls命令显示当前目录下各种对象的详细信息中,开头是由10个字符构成的字符串,其中第一个字符表示对象类型:“d”标识目录,“b”表示块设备。此题为判断题(对,错)。

以下函数fun的功能是返回str所指字符串中以形参c中字符开头的后续字符串的首地址,例如,str所指字符串为Hello!,c中的字符为e,则函数返回字符串ello!的首地址。若str所指字符串为空或不包含c中的字符,则函数返回NULL,请填空。char *fun(char *str,char c){ int n=0; char *p=str; if(p!=NULL) while(p[n]!=cp[n]!=’\0’) n++; if(p[n]==’\0’) return NULL; return();}

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

已知文法G: S—A0|B1,A- S1|1, B-*S0|0,其中S是开始符号。从S出发可以推导出(12)。A.所有由0构成的字符串B.所有由1构成的字符串C.某些0和1个数相等的字符串D.所有0和1个数不同的字符串

在仅由字符a、b构成的所有字符串中,其中以b结尾的字符串集合可用正规式表示为( )。A.(b|ab)*bB.(ab*)*bC.a*b*bD.(a|b)*b

由字符a、b构成的字符串中,若每个a后至少跟一个b,则该字符串集合可用正规式表示为( )。A.(blab)*B.(ab*)*C.(a*b*)*D.(alb)*

已知文法G: S--AOIBI,A-- S111,B—S0I0,其中S是开始符号。从S出发可以推 导出(12)。A.所有由0构成的字符串B.所有由1构成的字符串C.某些0和1个数相等的字符串D.所有0和1个数不同的字符串

●若正规式为“(1︱01)*0”,则该正规式描述了(28)。(28)A.长度为奇数且仅由字符0和l构成的串B.长度为偶数且仅由字符0和l构成的串C.以0结尾、0不能连续出现且仅由字符0和l构成的串D.以1开始以0结尾且仅由字符0和1构成的串

由字符a、b构成的字符串中,若每个a后至少跟一个b,则该字符串集合可用正规式表示为( )。 A(b|ab)* B(ab*)* C(a*b*)* D(a|b)

已知文法G:S->A0|B1,A->S1|1,B->S0|0,其中S是开始符号。从S出发可以推导出( )?A.所有由0构成的字符串B.所有由1构成的字符串C.某些0和1相等的字符串D.所有0和1个数不同的字符串

由字符a、b构成的字符串中,若每个a后至少跟一个b,则该字符串集合可用正规式表示为( )。A.(b|ab)*B.(ab*)*C.(a*b*)*D.(a|b)

在仅由字符a、b构成的所有字符串中,其中以b结尾的字符串集合可用正规式表示为( )A.(b|ab)*bB.(ab*)*bC.a*b*b D.(a|b)*b

在仅由字符串a、b构成的所有字符串中,其中以b结尾的字符串集合可用正规式表示为( )。A.(b|ab)*bB.(ab*)*bC.a*b*bD.(a|b)*b

正则表达式’^http’只能匹配所有以’http’开头的字符串。

在Hibernate中,用于比较字符串的like操作符“like ’%部%’”表示()。A、所有以“部”开头的字符串B、所有以“部”结尾的字符串C、所有包括“部”的字符串D、所有包括“部”且“部”不在开头和结尾的字符串

“CHAR(N)”表示()。A、整数NB、单字符NC、长度为N的字符串D、N个字符串

StringBuffer reverse( );表示()A、字符串反转B、字符串清空C、字符串的赋值D、字符串删除

在Java中,可以用"+"号连接字符串,以下描述错误的是()。A、由于"+"号将几个字符串连接在一起.因此只能使用StringBuffer对象B、如果以字符串开头,那么其后的"+"号都是字符串连接的含义C、+"号只能连接字符串和字符,不能连接数字,否则会造成概念混淆D、通过"+"号可以将不同的字符串/数字/字符连接成一个完整的字符串E、用"+"号连接的字符串可以赋值给String对象

booleanendsWith(Strings)表示()A、查找某字符串是否以s为结尾B、查找某字符串是否与s完全匹配C、确定某字符串与s的大小关系D、确定某字符串是否以s为开始

已知SN是一个字符类型的字段,有查询语句:SELECT SN FROM S WHERE SN LIKE ’AB%’ 该查询语句的执行结果是()。A、含有3个字符‘AB%’的所有SN字段B、含有字符‘A’或‘B’的所有SN字段C、以字符串‘AB’开始的所有SN字段D、仅含有3个字符且前两个为‘AB’的SN字段

E[att^=val]{css样式}表示()。A、选择具有att属性且属性值为以val开头的字符串的E元素B、选择具有att属性且属性值为以val结尾的字符串的E元素C、选择具有att属性且属性值包含val的字符串的E元素D、以上都不正确

在select查询语句中的like’DB_’表示()的字符串。A、长度为3的以“DB”开头B、长度为2的以“DB”开头C、任意长度的以“DB”开头D、长度为3的以“DB”开头第三个字符为"_"

判断题正则表达式’^http’只能匹配所有以’http’开头的字符串。A对B错

单选题在Hibernate中,用于比较字符串的like操作符“like ’%部%’”表示()。A所有以“部”开头的字符串B所有以“部”结尾的字符串C所有包括“部”的字符串D所有包括“部”且“部”不在开头和结尾的字符串

单选题booleanendsWith(Strings)表示()A查找某字符串是否以s为结尾B查找某字符串是否与s完全匹配C确定某字符串与s的大小关系D确定某字符串是否以s为开始

单选题在select查询语句中的like’DB_’表示()的字符串。A长度为3的以“DB”开头B长度为2的以“DB”开头C任意长度的以“DB”开头D长度为3的以“DB”开头第三个字符为_