繁体   English   中英

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

[英]regex on python spiting a string into a specific sequence

我有一个字符串,可能看起来像CITS/CPU/0218/2305CITS/VDU/0218/2305CITS/KEY/0218/2305CITS/CPU/0218/2305CITS/VDU/0218/2305 CITS/KEY/0218/2305CITS/CPU/0218/2305 CITS/VDU/0218/2305 CITS/KEY/0218/2305CITS/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']

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM