擅长:python、mysql、java
<p>这可能会对你正在搜索的文本中存在的<em>而不是</em>做出太多假设,但肯定会更短,可能更快:</p>
<pre><code>re.findall('\[Pre[^:]+:\s+(?P<precost>\S+)[^[]+\[Post[^:]+:\s+(?P<postcost>\S+)',
thestring)
[('5', '1.25')]
</code></pre>
<p>这些假设可能不正确:</p>
<ul>
<li>总有一个空间在成本之后和“下午”之前。在</li>
<li>方括号内的冒号只出现一次,它总是放在“成本”之后。在</li>
<li>在“前”或“后”括号内没有“其他”序列。在</li>
</ul>