正则表达式 - 它们是相同的正则表达式吗?
Regular expressions - They are the same regular expressions?
我有两个问题。这些正则表达式是否相同?
(1) b*(ab*)* 和 (b*a)*b *
(2) b*(aaab*)* 和 (b*aaa) * b*
我觉得他们都创造了具有世界回文的语言。那正确吗?在第一个中,a 是必须的,b 是零或无限的。第二个是一样的。字符串 aaa 在两者中都是必须的,b 为零或无限制。
我说得对吗?
在这两种情况下,这两个正则表达式并不相同(它们是不同的正则表达式),但它们确实描述的是同一种语言。所以这两个问题的答案(来自你的练习?)是 "yes".
在第一种情况下,正则表达式描述了 任何 字符串的语言 a
和 b
。在第二种情况下,您将获得所有 a
都以三元组出现的语言,作为组合 aaa
。这第一种语言也是用正则表达式(a|b)*
(或者(a + b)*
,或者(a U b)*
来描述的,我不知道你的书用的是什么符号),第二种语言也用正则表达式 (aaa|b)*
.
在这两种情况下,如果您反转元素,语言将保持不变,因此,如果您反转描述它们的正则表达式,它们也会保持不变。
回文是 它们自身 如果将它们反转则保持不变的词。但是两种语言都有 不是 回文的元素,例如单词 aaab
,因为 aaab
!= baaa
。所以在这里谈论回文不是正确的论点。
我有两个问题。这些正则表达式是否相同?
(1) b*(ab*)* 和 (b*a)*b *
(2) b*(aaab*)* 和 (b*aaa) * b*
我觉得他们都创造了具有世界回文的语言。那正确吗?在第一个中,a 是必须的,b 是零或无限的。第二个是一样的。字符串 aaa 在两者中都是必须的,b 为零或无限制。
我说得对吗?
在这两种情况下,这两个正则表达式并不相同(它们是不同的正则表达式),但它们确实描述的是同一种语言。所以这两个问题的答案(来自你的练习?)是 "yes".
在第一种情况下,正则表达式描述了 任何 字符串的语言 a
和 b
。在第二种情况下,您将获得所有 a
都以三元组出现的语言,作为组合 aaa
。这第一种语言也是用正则表达式(a|b)*
(或者(a + b)*
,或者(a U b)*
来描述的,我不知道你的书用的是什么符号),第二种语言也用正则表达式 (aaa|b)*
.
在这两种情况下,如果您反转元素,语言将保持不变,因此,如果您反转描述它们的正则表达式,它们也会保持不变。
回文是 它们自身 如果将它们反转则保持不变的词。但是两种语言都有 不是 回文的元素,例如单词 aaab
,因为 aaab
!= baaa
。所以在这里谈论回文不是正确的论点。