我在解决这些问题上遇到了困难。我想在JS中使用regex来做这件事。
1.所有奇数长度的二进制字符串都包含交替的0和1。
2.所有大于0和1的二进制字符串在解释为二进制数时表示大于5的数字。
3.所有超过0和1的二进制字符串表示当解释为二进制数时可被4整除的数字。
4.所有长度小于或等于5的二进制字符串只包含0和1,其中0的数量等于1的数量。
任何帮助都是很棒的。
发布于 2018-09-24 03:18:55
为了更容易理解,我将其拆分为4个正则表达式:
1.
^(?:(?:10)+1|(?:01)+0)+$
这匹配一个或多个'01
‘或'10
',后面跟着相反的字符,重复一次或多次。
2.
[01]{4,}$
这只是检查数字是否以4位二进制数结束。
3.
[01]*0{2,}$
这确保了数字以2个零结尾。
4.
^(01|10|0011|0101|0110|1001|1010|1100)$
这只是OR
的不同可能性。因为数字中必须有相等的零和'1‘,所以数字中只能有2或4位数字。
如果您需要在一个正则表达式中完成所有这些操作,那么您可以将它们全部OR
在一起。
https://stackoverflow.com/questions/52469107
复制相似问题