Python中的正则表达式操作

时间:2016-11-04 12:43:57

标签: python regex

如何得到我想要的东西?例如,我有一个像这样的字符串

'RC00001  C00003_C00004RC00087  C00756_C01545RC01045  C06756_C03485'

我想要

'RC00001  C00003_C00004','RC00087  C00756_C01545','RC01045  C06756_C03485' 

我该怎么办?我尝试了很多次,但我失败了。请帮我!谢谢!

2 个答案:

答案 0 :(得分:3)

answer=[]
a="RC00001  C00003_C00004RC00087  C00756_C01545RC01045  C06756_C03485"
b = a.split("RC")
for i in b[1:]:
    answer.append("RC%s" % (i))

print(answer)

这将输出:

['RC00001 C00003_C00004', 'RC00087 C00756_C01545', 'RC01045 C06756_C03485']

答案 1 :(得分:1)

如果您想使用正则表达式实现此目的,可以尝试以下

import re
input_str = 'RC00001  C00003_C00004RC00087  C00756_C01545RC01045  C06756_C03485'
pattern = '(RC[\d+]+\s+C[\d]+_C[\d]+)'
print(re.findall(pattern, input_str))
# output
# [('RC00001  C00003_C00004', 'RC00087  C00756_C01545', 'RC01045  C06756_C03485')]

如果格式始终为RC {numbers} C {numbers}