レベルが有効かどうかを確認しようとしています。レベルは次の形式です: (ただし、これらはさらに 998 個あります)
bbbbbbb
b41111b
b81400b
b81010b
b01121b
b08001b
bbbbbbb
レベルはいくつかのルールに従う必要があります。すべてのルールに準拠する正規表現を作成しましたが、次の 1 つを除きます。レベルには、1 かける 2 と 1 かける 4 が正確に含まれている必要があります。
これは学校のプロジェクトなので、答えを教えてください。前もって感謝します。
編集:
私の現在の正規表現は次のとおりです。
^b{' + str(length) + r'}\n(b{1}[0-8]{' + str(length - 2) + r'}b{1}\n)+b{' + str(length) + '}$
上のレベルでは、長さ = 7 この間違った上のレベルをフィルタリングしようとさえしないことに注意してください。その他のルールは次のとおりです。
- レベルは「b」で囲む必要があります
- レベルには、文字「b」と 9 未満の数字のみを含めることができます。
- 1つしかあり得ない 2
- 4 は 1 つしか存在できません。
上記の正規表現はルール 1 と 2 を考慮に入れていますが、ルール 3 と 4 を理解する必要があります。
ルックアラウンドなどを試しましたが、わかりませんでした。