8

(a|b)*一样的a*|b*吗?换句话说,是否接受由s 和s(a|b)*组合而成的字符串?ab

4

3 回答 3

11

(a|b)*一样的 a*|b*吗?

他们不一样。

  • a*|b*表示“(0个或更多as)或(0个或更多bs)”

  • (a|b)*表示“0个或多个(ab)s”

因此,例如,ab将匹配 by(a|b)*但不是 by a*|b*。另请注意,任何与 by 匹配的a*|b*内容也将由 匹配(a|b)*

于 2014-07-15T17:50:41.103 回答
9

不。

如果是(a|b)*,您可以混合使用As 和Bs(参见演示)。

在 的情况下a*|b*,您可以使用As 或Bs(参见演示)。

于 2014-07-15T17:50:29.550 回答
0

a*|b*表示 {ε, "a", "b", "aa", "bb", "aaa", "bbb", ...}

(a|b)*表示 {ε, "a", "b", "aa", " ab ", " ba ", "bb", "aaa", aab , abb , aba , baa ...}

ε表示空

于 2021-11-09T16:39:06.337 回答