2017-04-11 280 views
1

我一直在努力去理解关于两个联合表达式关闭的一个关键性质。基本上我需要知道Kleene明星的工作原理。关于Kleene星的困惑

IE如果正则表达式R =(0 + 1)*是否表达必须评估为类似000111/01/00001111,或者我们可具有不相等的量的0 & 1的,诸如0011111/000001/111111/0000?

回答

1

0和1的数量可以不相等;你甚至可以按任意顺序排列0和1! a*表示“0或更多a s,其中每个a独立评估”;因此,在匹配(0+1)*的字符串中,每个字符可以匹配(0+1),而不考虑字符串中的其他字符如何匹配它。

考虑模式(0+1)(0+1);它匹配字符串00,011011。正如你所看到的,0和1不必等量出现,也不必按任何特定顺序出现。 Kleene星星将它延伸到任意长度的弦上;毕竟,(0+1)*只是意味着<empty>+(0+1)+(0+1)(0+1)+(0+1)(0+1)(0+1)+ ...

+0

哇!这就是这个话题的清晰阐述。非常感谢你,很奇怪这样一个简单的话题能给我带来怎样的困难。 – Gipjoe

+0

如果此答案解决了您的问题,请考虑将其投出并/或将其标记为已接受。 – tripleee