Регулярное выражение для шестнадцатеричной строки в python не работает

У меня есть регулярное выражение для сопоставления таких строк, как:

--D2CBA65440D

--77094A27E09

--77094A27E

--770

--77094A27E09--

в основном, оно соответствует шестнадцатеричная строка, окруженная одним или несколькими разрывами строк или пробелами, с префиксом --и может иметь или не иметь --в качестве суффикса

. Я использую следующий код Python, и в большинстве случаев он отлично работает:

hexaPattern = "\s--[0-9a-fA-F]+[--]?\s"
hex = re.search(hexaPattern, part)
if hex:
   print "found a match"

это работает для всего вышеперечисленного, но не соответствует --77094A27E09 в этом блоке :

<div id="arrow2" class="headerLinksImg" style="display:block

--77094A27E09

;">

, но соответствует той же строке в:

<input type="checkbox" name="checkbox" id="checkboxKG3" class

--77094A27E09

Content-T="checkboxKG" value="KG3" />

Что я делаю неправильно?

5
задан Darth Plagueis 22 April 2012 в 17:43
поделиться