我有一个看起来像的字符串CITS/CPU/0218/2305CITS/VDU/0218/2305CITS/KEY/0218/2305
要么CITS/CPU/0218/2305CITS/VDU/0218/2305 CITS/KEY/0218/2305
要么CITS/CPU/0218/2305 CITS/VDU/0218/2305 CITS/KEY/0218/2305
要么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))
有什么建议么?
最佳答案
在此处尝试使用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)
打印:
['CITS/CPU/0218/2305', 'CITS/VDU/0218/2305', 'CITS/KEY/0218/2305']
如果您只想要第一个比赛,则只需访问它即可:
print(matches[0])
['CITS/CPU/0218/2305']