擅长:python、mysql、java
<p>我可以用你的例子来说明这一点:</p>
<pre><code>import re
str = ['2 Apple pie $1.50 /each: $3.00',
'Corsair Vengeance 8GB DDR3 1600 MHz (PC3 12800) Desktop Memory $34.99']
output = [re.match(r"(.+)(\$.*)$", x).groups() for x in str]
print output
# [('2 Apple pie $1.50 /each: ', '$3.00'), ('Corsair Vengeance 8GB DDR3 1600 MHz (PC3 12800) Desktop Memory ', '$34.99')]
</code></pre>
<p>regex利用了regex是贪婪的这一事实,因此通过让它在寻找后面有一些字符的<code>$</code>之前尽可能多地吞噬字符,我们可以隐式地告诉regex引擎在最后一个<code>$</code>上拆分。你知道吗</p>