我正在编写我的第一个 Python 重新代码,我对正则表达式有一些疑问。我有一个变量,其中包含
a = "'PoE Port Info','1 up medium Auto Class Searching 0 0.0 0 0.0','10 up low User defined 4(W) Searching - 0.0 0 0.0'"
我需要提取:
'1 up medium Auto Class Searching 0 0.0 0 0.0'
并将字符串转换为删除所有空格的字符串列表
['1','up','medium','Auto Class','Searching','0','0.0','0','0.0']
相似地
'10 up low User defined 4(W) Searching - 0.0 0 0.0'
删除空格并转换为列表
['10','up','low','User defined,'4(W)','Searching','-','0.0','0','0.0']
该字符串中的所有其他剩余数据不应匹配。
我的代码:
a = "'PoE Port Info','1 up medium Auto Class Searching 0 0.0 0 0.0','10 up low User defined 4(W) Searching - 0.0 0 0.0'"
b= []
#split string with ,
a = a.split(",")
print(a)
for item in a:
c = re.findall(r"[0-9]+[\s+[a-z]+]*[0-9]+",item, re.I)
if c:
#Replace whitespace character to spaces
temp = re.sub(r'[\s]+',' ', c[0])
#print(temp)
b.append(temp.split(" "))
print(b)
此代码正在运行,但我在正则表达式中遇到问题。我当前的输出:
[['1', 'up', 'medium', 'Auto', 'Class', 'Searching', '0'], ['10', 'up', 'low', 'User', 'defined', '4']]
有的请帮帮我。
怎么写RE?