【发布时间】:2012-04-19 17:56:27
【问题描述】:
我正在寻找一些正则表达式/自动机帮助。我仅限于+ 或 Kleene Star。解析表示三进制数的字符串(如二进制,只有 3),我需要能够知道结果是否为 1 小于 4 的倍数。
所以,例如120 = 0*1+2*3+1*9 = 9+6 = 15 = 16-1 = 4(n)-1。
即使是指向模式的指针也会很有帮助!
【问题讨论】:
-
我在这里对编码竞赛的回答:codegolf.stackexchange.com/questions/3503/… 为您提供了一个测试不同数字基数的可分性的示例。那将是一个很好的指针。
-
谢谢。到目前为止,我有一些规则,但还没有确定的规则
-
我的建议是生成一个 FSM/正则表达式,用于测试 4 的三元整除性。如果您修改我的 NFA 中的规则,这应该不会太难。一旦你有了它,为“-1”位调整你的解决方案是微不足道的。
标签: regex automata ternary-representation