python 提取多个字符串中的多个字段

li_s = ['S 【80-100斤】', 'M【100-110斤】', 'L【110-120斤】', 'XL 【120-130斤】', '2XL 【135-140斤】']

最终呈现的效果是:
S,80,100
M,100,110
L,110,120
XL,120,130
2XL,135,140

自己尝试了 for循环 和 正则,但是都达不到预期的效果,在这里希望得到各位朋友帮助~~

用正则表达式。你题目的解答代码如下:

import re

li_s = ['S 【80-100斤】', 'M【100-110斤】', 'L【110-120斤】', 'XL 【120-130斤】', '2XL 【135-140斤】']

for s in li_s:
    r = re.findall(r'([A-Z0-9]+).+?(\d+)-(\d+)',s)[0]
    print(r)

img

如有帮助,望采纳!谢谢!