首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在Javascript中使用Regex进行二进制计算

在Javascript中使用Regex进行二进制计算
EN

Stack Overflow用户
提问于 2018-09-24 02:32:30
回答 1查看 110关注 0票数 -2

我在解决这些问题上遇到了困难。我想在JS中使用regex来做这件事。

1.所有奇数长度的二进制字符串都包含交替的0和1。

2.所有大于0和1的二进制字符串在解释为二进制数时表示大于5的数字。

3.所有超过0和1的二进制字符串表示当解释为二进制数时可被4整除的数字。

4.所有长度小于或等于5的二进制字符串只包含0和1,其中0的数量等于1的数量。

任何帮助都是很棒的。

EN

回答 1

Stack Overflow用户

发布于 2018-09-24 03:18:55

为了更容易理解,我将其拆分为4个正则表达式:

1.

代码语言:javascript
复制
^(?:(?:10)+1|(?:01)+0)+$

这匹配一个或多个'01‘或'10',后面跟着相反的字符,重复一次或多次。

2.

代码语言:javascript
复制
[01]{4,}$

这只是检查数字是否以4位二进制数结束。

3.

代码语言:javascript
复制
[01]*0{2,}$

这确保了数字以2个零结尾。

4.

代码语言:javascript
复制
^(01|10|0011|0101|0110|1001|1010|1100)$

这只是OR的不同可能性。因为数字中必须有相等的零和'1‘,所以数字中只能有2或4位数字。

如果您需要在一个正则表达式中完成所有这些操作,那么您可以将它们全部OR在一起。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52469107

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档