擅长:python、mysql、java
<p>我第一次尝试用正则表达式来回答这个问题,我发现阅读别人的代码是一项很好的技巧。</p>
<pre><code>import re # import regular expressions
chuck_text = open("regex_sum_286723.txt")
numbers = []
Total = 0
for line in chuck_text:
nmbrs = re.findall('[0-9]+', line)
numbers = numbers + nmbrs
for n in numbers:
Total = Total + float(n)
print "Total = ", Total
</code></pre>
<p>为了“理解列表”而喝一杯啤酒,虽然他的“r”似乎不需要,但不知道它是做什么的。但它读起来很漂亮,我读了两个像我的答案一样的循环,就更糊涂了</p>
<pre><code>import re
print sum([int(i) for i in re.findall('[0-9]+',open("regex_sum_286723.txt").read())])
</code></pre>