在以下案文中:
text = b'List ---\r\n\r\nDATA 0:\r\n SN: 1234656AZDSQVC\r\n FW: DSQ\r\n\r\nDATA 1:\r\n SN: 1234ZDS656AQVC\r\n FW: 656A\r\n\r\n----------------------------------\r\n\r\n\r\n'
我正在寻找两个匹配项,“0”然后是“1”
我尝试了以下正则表达式
arrayResult = re.findall(".*(?:DATA.*([\d])+.*SN:).*",text)
但我只得到最后一场比赛:“1”,而不是第一场“0”。如果我添加更多数据,我总是得到最后一个
arrayResult: ['1']
在同一篇文章中,我实际上在寻找一个多元组匹配:
我尝试了以下正则表达式,但没有成功(我只得到了最后一个元组):
arrayResult = re.findall(r".*(?:DATA.*([\d])+.*SN:[\s]+([\d\w]+).*FW:[\s]+([\d\w]+)).*",text)
找到这些元组的正确方法是什么?
这似乎有效:
这张照片是:
我使用的正则表达式模式只针对前面的
0:
或1:
节前缀,然后对SN:
和FW:
内容使用两个捕获组不确定您的
text
字符串。如果上述方法不适用于您,则不要将文本设置为字节字符串相关问题 更多 >
编程相关推荐