我很难弄清楚这些问题。 我想在JS中使用正则表达式来做到这一点。
1.所有奇数长度的二进制字符串,包含交替的0和1。
2.所有超过 0 和 1 的二进制字符串,表示解释为二进制数时大于 5 的数字。
3.所有超过 0 和 1 的二进制字符串,表示在解释为二进制数时可被 4 整除的数字。
4.所有长度小于或等于 5 的二进制字符串,仅包含 0 和 1,其中 0 的数量等于 1 的数量。
任何帮助都是巨大的。
我认为正则表达式不是解决您问题的最佳解决方案,但它们是:
b(1(01)*|0(10)*)b
尝试正则表达式b([01]*11[01]|0*1+[01]*[01]{3})b
尝试正则表达式b[01]*00b
尝试正则表达式b((01|10){1,2}|0011|1100)b
尝试正则表达式
我将其分为 4 个正则表达式以更容易理解:
1.
^(?:(?:10)+1|(?:01)+0)+$
这匹配一个或多个 '01
' 或 '10
',后跟相反的字符,重复一次或多次。
阿拉伯数字。
[01]{4,}$
这仅检查数字是否以 4 个二进制数字结尾。
3.
[01]*0{2,}$
这可确保数字以 2 个零结尾。
4.
^(01|10|0011|0101|0110|1001|1010|1100)$
这简直OR
了不同的可能性。由于必须有相等的零和"1",因此数字中只能有 2 或 4 位数字。
如果您需要在一个正则表达式中将其全部OR
,则可以将它们全部在一起。