1

好奇心からの質問ですが、ビットレベルでパターン マッチングを行う方法はありますか? 現在、私が見たすべての正規表現システムは、バイトまたは文字ベースの表現で動作しますが、ビットレベルで一致させるものは見たことがありません.

たとえば、次のようなビットフィールドがあるとします。

011101100011100110110001

(24ビット!) ビット 7、8、および 9 がパターンであることを確認できます100か?

言語にとらわれない回答が望ましいですが、それができる場所がないので、洞察をいただければ幸いです。

注:これを任意のビット数で実行したいので、バイトに変換(またはバイトサイズにパディング)し、複雑な通常の正規表現を適用することは、私が望むものではありません!

ありがとう、

4

2 に答える 2

1

1と0の文字列ではなく実際のビットをチェックしようとしていると仮定すると、正規表現自体でこれを行うことができるとは思いませんが、ビットマスクを適用して特定のビットのステータスをチェックできます。たとえば、LMB が 1 であることを確認するには、次のようにします。

11000100

10000000

=10000000

于 2012-05-26T20:24:53.953 に答える
1

確かに、それを不可能にする理論上の制限はありません。実際、関連する理論はどのアルファベットにも適用できます。例では非常に小さなアルファベットが使用されることがよくありますが、通常は記号 0 と 1 で構成されるものではありません。計算理論に関する本を読みたいと思うかもしれません。

于 2012-05-26T20:43:14.313 に答える