Qt で LineEdit ウィジェットの入力を検証しようとしています。正規表現を初めて使用するので、助けが必要です。スペースで区切られた 1 ~ 32 の 16 進数バイトを許可したい。たとえば、これは有効である必要があります。
"0a 45 bc 78 e2 34 71 af"
以下は、無効な入力の例です。
"1 34 bc 4e"
→ ペアで書く必要があるので、1 は 01 でなければなりません。
"8a cb3 58 11"
-> cb3 が無効です。
"56 f2 a8 69 "
-> 末尾のスペースは許可されません。
頭を悩ませた後、うまくいくように見えるこの正規表現を思いつきました:
"([0-9A-Fa-f]{2}[ ]){0,31}([0-9A-Fa-f]{2})"
私の質問に移りましょう:
テストで表示されなかった正規表現の問題はありますか? もしそうなら、どうすれば改善できますか?
それを書くためのよりクリーンな方法はありますか?
前もって感謝します