<p>我正在学习正则表达式并尝试执行以下操作:</p>
<p>下面是一系列字母数字的格式。它以4位数字、2位空格、8位数字、8位空格、8位空格、8位数字、8位空格、8位空格、或条开头。在</p>
<pre><code>FFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF |
</code></pre>
<p>或者写得更清楚:</p>
^{pr2}$
<p>我首先需要在以00A3开头的文件中找到正确的行。然后我需要抽出我用using框起来的数字组:</p>
<pre><code>p = re.compile('00A3 ') # search for 00A3[space][space]
r = re.compile(???) # search for desired 8 digit groups
q = re.compile(\[SECTION2\])
dataString = inFile.next() # 00A3 388A63FF 00000DF1 52984731 FF989ACB
while not q.match(dataString) # look for [SECTION2] line in file. This means we passed where 00A3 would have been so it must not be here.
if p.match(dataString):
numbers = r.findall(dataString) # numbers = [388A63FF, 00000DF1, 52984731, FF989ACB]
break
dataString = inFile.next() # get next line to check
</code></pre>
<p>这应该给我一个号码清单,以便进一步处理。我只是不知道如何写正则表达式,将只找到4组8个字母数字数字与空格分隔。我的想法是寻找8个字母数字数字,前面有一个空格,后面有一个空格,但是这会引起问题吗?它看起来怎么样?在</p>
<p>我研究了“向前看”和“向后看”选项,但我感到困惑。在</p>
<p>我对这一点还是很陌生的,尤其是在Python中,所以我愿意接受关于更好实现的建议。在</p>
<p>谢谢!在</p>