如何将此正则表达式转换为'named group re'Python

时间:2017-11-10 23:20:07

标签: python regex regex-group

我需要在命名组重新格式中转换以下正则表达式。我还不完全理解。

 info = re.findall(
                r'.*\/dev\/(sd.):[.\s]*0[xX][1-9a-fA-F]+[.\s]*0[xX][0-9a-fA-F]+[.\s]*(\S+).*', content
            )

要测试的字符串是否有效(与sda匹配,13D0A016FTR7):

/dev/sda:   0x1 0x0  '13D0A016FTR7'

最后,它应该能够以下列方式使用info变量:

info[0][0] = sda
info[0][1] = 13D0A016FTR7

1 个答案:

答案 0 :(得分:0)

回答我的问题:

content = "/dev/sda:   0x1 0x0  '13D0A016FTR7'"

info = re.search(r'.*\/dev\/(?P<disk>sd.):[.\s]*0[xX][1-9a-fA-F]+[.\s]*0[xX][0-9a-fA-F]+[.\s]*(?P<serial>\S+).*', content)

info.group('disk')
'sda'

info.group('serial')
"'13D0A016FTR7'"