不包括正则表达式中的空格

时间:2014-07-31 13:22:07

标签: python regex

我有以下字符串,我想要CL3以及所有收益。

字符串:

"1600m Dead CL3  $4,500"

我想要的是什么:

CL3  $4,500

这是我目前的正则表达式:

[^(Dead|Good|Heavy|Slow|Fast)]+$

目前Python返回一个空字符串并在一个在线正则表达式引擎中:http://regex101.com/r/jU4zO5/1返回死后的空格。

非常感谢您的协助!

修改

我希望所有的东西都在(Dead | Good | Heavy | Slow | Fast)的可能性之后,这意味着它不一定会以CL3开始。

例如。 字符串:“3200m Good Melbourne Cup $ 4,500”

渴望:墨尔本杯$ 4,500

3 个答案:

答案 0 :(得分:3)

尝试:

txt='''
1600m Dead CL3  $4,500
3200m Good Melbourne Cup $4,500'''

import re

>>> re.findall(r'^.*(?:Dead|Good|Heavy|Slow|Fast)\s+(.*)', txt, re.M)
['CL3  $4,500', 'Melbourne Cup $4,500']

答案 1 :(得分:2)

使用此正则表达式,只需抓住第二个捕获组。

(Dead|Good|Heavy|Slow|Fast)(.*)

答案 2 :(得分:0)

(?:Dead|Good|Heavy|Slow|Fast)(.*)