regex 我如何用正则表达式表示正则语言∑={a,B,c},使两个字符'b'不能相邻?

ymzxtsji  于 2023-03-04  发布在  其他
关注(0)|答案(2)|浏览(165)

正则语言的字母表是∑={a,b,c}
我需要创建正则表达式:
a.)接受没有两个'B'字符相邻的字符串。例如:aabccbaaccb〈-允许的aabccbaaccbb〈-不允许的
B.)接受两个字符“b”之间至少有一个字符“a”的字符串。例如:babaaaaab〈-允许的babaaaaaabcb〈-不允许的
创建的正则表达式需要做好准备,才能用JFLAP进行测试。
Here is what Regular Expression I have already try to create

6kkfgxo0

6kkfgxo01#

我想这样会有用:

^[ac]*(?:b$|bc*$|bc*a[ac]*)*$

在测试中,它只匹配任何一对b至少被一个a分隔的字符串,正如提示符所描述的那样。

klr1opcd

klr1opcd2#

对于任务A:

(a+c+ba+bc)*(b+!)

(For JFLAP使用!来表示空字符串(即)的一些奇怪原因
对于任务B:

(a+c+bc*a)*(bc*+!)

相关问题