【发布时间】:2016-04-01 06:55:06
【问题描述】:
我想为能被 5 整除的二进制数写一个正则表达式。
我已经完成了二进制数可被 2 和 3 整除的正则表达式,但我找不到 5 的正则表达式。
有什么建议吗?
【问题讨论】:
-
请向我们展示您的尝试以及它是如何不起作用的。
-
我真的不知道从哪里开始,因为数字非常不同:0101、1010、1111、10100 ...没有适用的特殊规则
-
广义帕斯卡整除标准给出了 (1, 2, 4, 3, 1, ...) 的归约序列,我几乎看不出正则表达式如何利用它。但是,如果您的最终目标只是检查巨大的二进制数的可分性,您可以直接使用它。只需通过您的号码从最低位乘以序列号上的数字并收集总数。总数的余数是初始数的余数。这是迄今为止我找到的最好的链接mathworld.wolfram.com/DivisibilityTests.html
-
正则表达式不是这项工作的正确工具。
-
@VasilyLiaskovsky,这是 FDA/正则表达式练习的经典示例。看看我的回答。