-7

请举例说明(0+1)*(01)*、 和 之间(0+1)+的区别。(01)+

(0+1)+与 (01)+ 类似,表示 (0+1) 的非空字符串。

4

1 回答 1

2
(0+1)*
  • 表示一个或多个 0 后跟一个 1 的序列。
  • 匹配01, 0001, 0101.
  • 匹配一个空字符串。
  • 不匹配1, 0, 101, 011, 010.
(01)*
  • 表示“01”的序列。
  • 火柴010101
  • 匹配一个空字符串。
  • 不匹配, 1, 0, 010.
(0+1)+ and (01)+

等价于其他,除了它们需要至少一个匹配项。因此,它们不会匹配空字符串。

请注意,某些语言中的这些表达式不要求它是整个字符串。一些函数隐式添加^到开头和$结尾。大多数情况下,他们不会这样做,所以这些会匹配foo 0101 bar

于 2013-08-03T01:57:41.627 回答