如何将此正则表达式转换为 'named group re' Python
How to convert this Regular Expression to 'named group re' Python
我需要将以下正则表达式转换为 命名组 re 格式。我还没有完全理解。
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
我的问题的答案:
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'"
我需要将以下正则表达式转换为 命名组 re 格式。我还没有完全理解。
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
我的问题的答案:
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'"