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/2305
或
CITS/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)
有什么建议?
尝试使用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)
| 归档时间: |
|
| 查看次数: |
48 次 |
| 最近记录: |