3

我目前正在研究编译器,并且在理解常规集方面遇到了一些问题。例如,假设我有一组二进制字符串 (0, 1)。所有偶数和正数是否都被视为正则集的一部分?假设我有相同的集合,但它们不是偶数,而是可以被 5 整除,它仍然是常规集合吗?

我一直在查看我在网上找到的这个有用的指南,但我仍然对可以定义为常规集合的内容感到困惑。

4

1 回答 1

2

所有偶数和正数是否都被视为正则集的一部分?

是的!您可以使用以下正则表达式生成它们:

2 | 4 | 6 | 8 | (0|1|2|3|4|5|6|7|8|9)+(0|2|4|6|8)

假设我有相同的集合,但它们不是偶数,而是可以被 5 整除,它仍然是常规集合吗?

是的!这是正则表达式:

5 | (0|1|2|3|4|5|6|7|8|9)+(0|5)

更一般地说,要确定一个集合是否是正则集,您应该尝试找到一个有限自动机,它可以精确地接受语言中的字符串或该集合的正则表达式。如果你能做到这一点,语言是正常的。如果没有,则不正常。

希望这可以帮助!

于 2013-10-28T03:43:11.313 回答