import re str = '''ds000002_R2.0.2_raw.zip ds000002_R2.0.3_raw.zip ds000002_R2.0.4_raw.zip ds000002_R2.0.5_raw.zip ds000003_R2.0.0_raw.tgz ds000003_R2.0.1_raw.tgz ds002_raw_checksums.txt ds003_models.tgz ds113c_R1.0.0_sub-18.tgz ds113c_R1.0.0_sub-20.tgz ds113c_R1.0.0_sub-21.tgz ds113b_raw.tgz ds110.tgz''' print(re.findall(r'(?mi)(?<=^ds)([a-z0-9]+)', str))
Standard input is empty
['000002', '000002', '000002', '000002', '000003', '000003', '002', '003', '113c', '113c', '113c', '113b', '110']