私のファイルには、空白で区切られた 45 の 16 進数、または空白で区切られた 48 の 16 進数が含まれています。全体としてではなく、これらすべての数値が個別に必要です。私は現在、ブルート フォース メソッドを使用して 45 個の数字を取得しています。
pattern = re.compile("([0-9a-f]{2})\s([0-9a-f]{2})\s([0-9a-f]{2})\s([0-9a-f]{2})\s([0-9a-f]{2})\s([0-9a-f]{2})\s([0-9a-f]{2})\s([0-9a-f]{2})\s([0-9a-f]{2})\s([0-9a-f]{2})\s([0-9a-f]{2})\s([0-9a-f]{2})\s([0-9a-f]{2})\s([0-9a-f]{2})\s([0-9a-f]{2})\s([0-9a-f]{2})\s([0-9a-f]{2})\s([0-9a-f]{2})\s([0-9a-f]{2})\s([0-9a-f]{2})\s([0-9a-f]{2})\s([0-9a-f]{2})\s([0-9a-f]{2})\s([0-9a-f]{2})\s([0-9a-f]{2})\s([0-9a-f]{2})\s([0-9a-f]{2})\s([0-9a-f]{2})\s([0-9a-f]{2})\s([0-9a-f]{2})\s([0-9a-f]{2})\s([0-9a-f]{2})\s([0-9a-f]{2})\s([0-9a-f]{2})\s([0-9a-f]{2})\s([0-9a-f]{2})\s([0-9a-f]{2})\s([0-9a-f]{2})\s([0-9a-f]{2})\s([0-9a-f]{2})\s([0-9a-f]{2})\s([0-9a-f]{2})\s([0-9a-f]{2})\s([0-9a-f]{2})\s([0-9a-f]{2})\s")
ただし、これでも、48 の 16 進数のインスタンスで残りの 3 つの数字を抽出する方法がわかりません。この問題を単純化する方法を教えてください。
後でインスタンスごとに文字列を分割する必要があるため、以下のような解決策は避けます (うまくいくかどうか試していません)。つまり、適切な出力が得られると考えてください!
(((?:[0-9a-f]{2})\s){48})|(((?:[0-9a-f]{2})\s){45})
ありがとうございました!