在计算理论中,为什么正则表达式(ab)*和a * b *不相等?

时间:2017-07-30 15:47:11

标签: regex

这些表达方式表达的语言是什么,为什么它们不相等?

1 个答案:

答案 0 :(得分:3)

L1 = (ab)*代表ab重复0次或更多次 L2 = a*b*代表a重复0次或更多次,然后b重复0次或更多次。

这些语言不相同,因为单词abab使用的是L1语言,但不是语言L2。 这些语言不相同,因为单词a位于语言L2中,但不是语言L1

有一个非常有用的服务web service用于比较正则表达式。输入正则表达式后,它会描述它并让你测试它。

这些语言中的单词示例:

L1:

  • “”
  • “AB”
  • “ABAB”
  • “ABABAB”

L2:

  • “”
  • “一”
  • “AA”
  • “BBBB”
  • “AB”
  • “aaaabbbbbbb”