2011-01-28 8 views
3

私はバイトの配列を持っています、特定の番号0で始まり、9で終了し、私は数字の合計を得る。正規表現で、検証でそれにCRCのようなものを計算する

e.g test[] = { 0, 1, 4, 5, 9, 10 }; 
test[] = { 0, 3, 2, 9, 6, 0, 4, 2, 9, 6 }; - in this there are two sets 

これを見つけるために正規表現を使用する方法はありますか?

+1

合計には何らかの境界がありますか? :-) – aioobe

+0

これに対して正規表現について考えることさえしなくても、はるかに遅く、実際にはもっとうまくいくでしょう。 OutputStreamを開き、配列を渡って、必要な処理を行います(つまり、入力にコピーして、その時に合計をコピーし、0または9を取得した場合は余分な作業を行います)。 – maaartinus

答えて

5

これは私には普通の言語のようには見えないので、答えはいいえ、できません。

リストのサイズが固定されているか、たとえば10を法とする数の合計が必要な場合は、非常に複雑ですが、おそらく実行可能です。一般的には、単語が数字のリストで構成され、その合計がpumping lemmaを満たすことができないため、規則的ではありません。

正の面では、正規表現なしで簡単に行うことができます。