擅长:python、mysql、java
<p>如果要获取最后一个元素,可以在regex中使用<code>look-behind</code>:</p>
<pre><code>>>> s = '00:47:12: start interaction'
>>> re.search(r'(?<=\d{2}\:\d{2}\:)\d+',s).group(0)
'12'
</code></pre>
<p>然后将其转换为<code>int</code>,然后计算差值!在</p>
<p>编辑:由于您也可以检查空行,因此您需要使用<code>if</code>:</p>
^{pr2}$
<p>另一种方法是拆分行并将字符串时间转换为时间:</p>
<pre><code>>>> sp_line1= re.split(r'(?<=\d{2}:\d{2}:\d{2}):',s)
['00:47:12', ' start interaction']
</code></pre>
<p>演示:</p>
<pre><code>>>> t1= strptime(sp_line1[0],"%H:%M:%S")
>>> s2="00:47:18: End interaction"
>>> sp_line1=re.split(r'(?<=\d{2}:\d{2}:\d{2}):',s2)
>>> sp_line2=re.split(r'(?<=\d{2}:\d{2}:\d{2}):',s2)
>>> t2= strptime(sp_line2[0],"%H:%M:%S")
>>> t1.tm_sec
12
>>> t2.tm_sec - t1.tm_sec
6
</code></pre>