正则匹配字符串中硬盘

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Jerry_1126/article/details/85220692

hda  一般是指IDE接口的硬盘,hda一般指第一块硬盘,类似的有hdb,hdc,hd64a
sda  一般是指SATA接口的硬盘,sda一般指第一块硬盘,类似的有sdb,sdc, sd64a, sd-64a, sd64ac
nvme 一般格式nvme64n1a

s = "id=64 /dev/sd-65a id=66 /dev/sd67aa id=68 /dev/hd69a id=70 /dev/nvme71n1a"

如果要拿上面字符串中硬盘列表中含数字取出来,可能用正则匹配比较好。

>>> import re
>>> s='id=64 /dev/sd-65a id=66 /dev/sd67a id=68 /dev/hd69a id=70 /dev/nvme71n1a'
>>> re.findall(r"/dev/(sd|hd|nvme)-?(\d+)(n1)?[a-z]+", s)
[('sd', '65', ''), ('sd', '67', ''), ('hd', '69', ''), ('nvme', '71', 'n1')]
>>> [i[1] for i in re.findall(r"/dev/(sd|hd|nvme)-?(\d+)(n1)?[a-z]+", s)]
['65', '67', '69', '71']

上面的一种情形,/dev/(sd|hd|nvme)-?(\d+)(n1)?[a-z]+基本上就匹配出所有硬盘了。

猜你喜欢

转载自blog.csdn.net/Jerry_1126/article/details/85220692
今日推荐