【发布时间】:2012-05-03 11:11:24
【问题描述】:
我有一个正则表达式来匹配字符串,例如:
--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" />
我做错了什么?
【问题讨论】:
-
尝试修剪两边的 html,直到找到导致问题的字符
-
我得到了该块的匹配项:rubular.com/r/wfqgEPHObB
-
请注意,
[--]?将匹配一个或不匹配一个破折号,不是两个破折号。我想你的意思是(--)? -
我的意思是两个破折号......但
[--]?工作