我有以下字符串,我想要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
答案 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)(.*)