Expression régulière pour la chaîne hexadécimale en python ne fonctionne pas

J'ai une expression régulière correspondant aux chaînes de caractères comme:

--D2CBA65440D

--77094A27E09

--77094A27E

--770

--77094A27E09--

en gros, elle correspond à une chaîne hexadécimale entouré par un ou plusieurs sauts de ligne ou un espace blanc, et a le préfixe -- et peut ou peut ne pas avoir-comme le suffixe

- je utiliser le code python suivant, et il fonctionne très bien la plupart du temps:

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

cela fonctionne pour tous les ci-dessus mais il ne correspond pas --77094A27E09 dans ce bloc:

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

--77094A27E09

;">

mais correspond à la même chaîne:

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

--77094A27E09

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

Ce que je fais mal?

essayez de coupe vers le bas le code html de chaque côté jusqu'à ce que vous trouver le personnage qui est à l'origine du problème
Je reçois un match pour ce block: rubular.com/r/wfqgEPHObB
Notez que [--]? correspond à un seul ou aucun des tirets, pas deux tirets. Je pense que vous vouliez dire (--)?
je voulais dire deux tirets ... mais [--]? travaillé

OriginalL'auteur Darth Plagueis | 2012-04-22