python上的正则表达式将字符串吐到特定序列中

sak*_*b11 1 python regex string list

我有一个看起来像CITS/CPU/0218/2305CITS/VDU/0218/2305CITS/KEY/0218/2305 or CITS/CPU/0218/2305CITS/VDU/0218/2305 CITS/KEY/0218/2305CITS/CPU/0218/2305 CITS/VDU/0218/2305 CITS/KEY/0218/2305 or 的字符串 CITS/CPU/0218/2305

我试图想出一个与序列匹配的正则表达式,CITS/CPU/0218/2305以便我可以将任何字符串拆分为仅匹配这种情况的列表。 基本上我只需*/*/*/*要从传入的字符串中将部分提取到列表中 我的代码

product_code = CITS/CPU/0218/2305CITS/VDU/0218/2305 CITS/KEY/0218/2305
(re.split(r'^((?:[a-z][a-z]+))(.)((?:[a-z][a-z]+))((?:[a-z][a-z]+))(.)(\\d+)(.)(\\d+)$', product_code))
Run Code Online (Sandbox Code Playgroud)

有什么建议?

Tim*_*sen 5

尝试使用re.findall这里:

inp = "CITS/CPU/0218/2305CITS/VDU/0218/2305CITS/KEY/0218/2305"
matches = re.findall(r'[A-Z]+/[A-Z]+/[0-9]+/[0-9]+', inp)
print(matches)
Run Code Online (Sandbox Code Playgroud)

这打印:

['CITS/CPU/0218/2305', 'CITS/VDU/0218/2305', 'CITS/KEY/0218/2305']
Run Code Online (Sandbox Code Playgroud)

如果您只想要第一场比赛,那么只需访问它:

print(matches[0])

['CITS/CPU/0218/2305']
Run Code Online (Sandbox Code Playgroud)