title: Python regex search for hexadecimal bytes
body: <p>I'm trying to search a binary file for a series of hexadecimal values, however, I've run into a few issues that I can't quite solve. (1) I'm not sure how to search the entire file and return all the matches. Currently I have f.seek going only as far as I think the value might be, which is no good. (2) I'd like to return the offset in either decimal or hex where there might be a match, although I get 0 each time, so I'm not sure what I did wrong. </p>
  
  <p><strong>example.bin</strong></p>
  
  <pre><code>AA BB CC DD EE FF AB AC AD AE AF BA BB BC BD BE
  BF CA CB CC CD CE CF DA DB DC DD DE DF EA EB EC
  </code></pre>
  
  <p><strong>code:</strong></p>
  
  <pre><code># coding: utf-8
  import struct
  import re
  
  with open("example.bin", "rb") as f:
      f.seek(30)
      num, = struct.unpack("&gt;H", f.read(2))
  hexaPattern = re.compile(r'(0xebec)?')
  m = re.search(hexaPattern, hex(num))
  if m:
     print "found a match:", m.group(1)
     print " match offset:", m.start()
  </code></pre>
  
  <p>Maybe there's a better way to do all this?</p>