偶数个0和偶数1的正则表达式

时间:2015-03-12 05:05:35

标签: regex

我试图为接受偶数0's偶数1's的字符串制作正则表达式。但我无法这样做。请任何人帮忙吗?

我试过制作

(0000+0011+0101+0110+1111+1100+1010+1001)*(^+00+11)

但它不接受字符串100001

我读到了 @vks 已解决但无法正确理解答案的问题。我试图添加评论,但我的代表低于50,所以我无法做到这一点,这就是为什么我问了一个新问题。

2 个答案:

答案 0 :(得分:2)

这是一个简单的正则表达式,它将匹配偶数个零或1:

^(00|11|(01|10)(00|11)*(01|10))*$

这已在网站Regular Expressions 101上进行了测试。

答案 1 :(得分:1)

^(?![^0\n]*0[^0\n]*(?:0[^0\n]*0)*[^0\n]*$)(?![^1\n]*1[^1\n]*(?:1[^1\n]*1)*[^1\n]*$)[10]*$

这只会匹配even no of 0's and 1's字符串。这使用lookahead所以对于长字符串,需要时间。请参阅演示。

https://regex101.com/r/iS6jF6/11