我正在尝试检查一个级别是否有效。该级别的形式为:(但它们还有 998 个)
bbbbbbb
b41111b
b81400b
b81010b
b01121b
b08001b
bbbbbbb
该级别必须遵循一些规则。我编写了一个正则表达式来符合除一个之外的所有规则:级别必须恰好包含 1 乘 2 和 1 乘 4。(注意在上面的级别中有两个 4 和一个 2。上面的级别无效。)
这是一个学校项目,所以请指导我回答。提前致谢。
编辑:
我目前的正则表达式是:
^b{' + str(length) + r'}\n(b{1}[0-8]{' + str(length - 2) + r'}b{1}\n)+b{' + str(length) + '}$
对于上面的级别,length = 7 请注意,它甚至不会尝试过滤上面的错误级别。其他规则是:
- 级别必须用“b”包围
- 该级别只能包含字符 'b' 和小于 9 的数字。
- 只能有一个 2
- 只能有一个 4
我上面的正则表达式确实考虑了规则 1 和 2,但我仍然需要弄清楚规则 3 和 4。
我已经尝试过环顾四周等,无法弄清楚。