擅长:python、mysql、java
<p>下面的解决方案使用正则表达式(编译以加快搜索速度)来匹配相关行并提取所需的信息。表达式使用命名组“id”和“hexValue”来标识要从匹配行提取的数据。在</p>
<pre><code>import re
expression = "(?P<id>\w+?)_INIT\s*?=.*?'h(?P<hexValue>[0-9a-fA-F]*)"
regex = re.compile(expression)
def getIdAndValueFromInitLine(line):
mm = regex.search(line)
if mm == None:
return None # Not the ..._INIT parameter or line was empty or other mismatch happened
else:
return (mm.groupdict()["id"], "0x" + mm.groupdict()["hexValue"])
</code></pre>
<p>编辑:如果我正确地理解了下一个任务,那么您需要找到那些id匹配的INIT和ADDR行的hexvalue,并为ADDR hexvalue创建一个字典。在</p>
^{pr2}$
<p>即使这不是您实际需要的,拥有init和addr字典可能会帮助您更容易地实现目标。如果有多个具有相同ID和不同hexvalue的INIT(或ADDR)行,那么上面的dict方法将无法直接工作。在</p>