(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
。