L= { w in (0+1)* | w has even number of 1s},即L是偶数为1的所有位串的集合。以下哪一个正则表达式表示L?

A)(0 * 10 * 1)*
B)0 *(10 * 10 *)*
C)0 *(10 * 1)* 0 *
D)0 * 1(10 * 1)* 10 *

根据我的说法,D永远是不正确的,因为它不代表零为1的位串。但是其他选择呢?我们关心的是1(无论是否为零)的数量,而不是零的数量无关紧要。

那么哪个是正确的选项,为什么呢?

最佳答案

如果为假,则为A。 0110(或任何仅零的非空字符串)不匹配

B代表OK。因为页边距太小,所以我不会在这里证明这一点。

010101010不匹配C(中间的零不匹配)

您所说的D不能与00或其他任何没有匹配的#匹配。

所以只有B

关于regex - 偶数为1的位字符串的正则表达式,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2703316/

10-12 00:42