Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 正则表达式-它们是相同的正则表达式吗?_Regex_Formal Languages - Fatal编程技术网

Regex 正则表达式-它们是相同的正则表达式吗?

Regex 正则表达式-它们是相同的正则表达式吗?,regex,formal-languages,Regex,Formal Languages,我有两个问题。那些正则表达式是一样的吗 (1) b*(ab*)*和(b*a)*b* (2) b*(aaab*)*和(b*aaa)*b* 我觉得他们都创造了一种有回文的语言。是这样吗?在第一种情况下,a是必须的,b是零或无限的。第二个是相同的。字符串aaa在这两种情况下都是必须的,而b是零或无限制的 我说的对吗?在这两种情况下,两个正则表达式并不相同(它们是不同的正则表达式),但它们描述的是同一种语言。所以这两个问题的答案(来自你的练习?)都是“是” 在第一种情况下,正则表达式描述任何a和b字符串

我有两个问题。那些正则表达式是一样的吗

(1) b*(ab*)*和(b*a)*b*

(2) b*(aaab*)*和(b*aaa)*b*

我觉得他们都创造了一种有回文的语言。是这样吗?在第一种情况下,a是必须的,b是零或无限的。第二个是相同的。字符串aaa在这两种情况下都是必须的,而b是零或无限制的


我说的对吗?

在这两种情况下,两个正则表达式并不相同(它们是不同的正则表达式),但它们描述的是同一种语言。所以这两个问题的答案(来自你的练习?)都是“是”

在第一种情况下,正则表达式描述任何
a
b
字符串的语言。在第二种情况下,您得到了所有
a
以三元组出现的语言,即组合
aaa
。第一种语言也用正则表达式
(a | b)*
(或
(a+b)*
,或
(a U b)*
,我不知道你的书使用了什么符号),第二种语言也用正则表达式
(aaa | b)*
来描述

在这两种情况下,如果反转元素,则语言保持不变;因此,如果反转描述元素的正则表达式,则语言也保持不变


回文是如果你把它们颠倒过来,它们本身保持不变的单词。但是这两种语言都有非回文的元素,比如单词
aaab
,因为
aaab
!=<代码>baaa。所以在这里谈论回文不是正确的论点。

交叉贴:。请每个社区都应该有一个诚实的回答机会,而不会浪费任何人的时间