我正在尝试解析一个包含序列号和零件号等的文件,并将它们分类到一个结构中。我想通过标记标识符来解析这个文件,但是我真的只需要我的数据结构的实际数字/代码。我需要假设所有数字/代码的长度都是不同的,但是我可以依赖于数字/代码之前的标识符,也可以依赖于每个值之后的结束行。
//Text file with serials and information
Serial: 523524234235
Part Number: MHC-1251-A
Manufacturer: KNL-ETA
Serial: 523524281238
Part Number: QLC-851
Manufacturer: MHQ-MCE
.
.
.
请您参考如下方法:
在每一行上,您可以应用正则表达式来提取所需的部分,如下所示:
>>> import re
>>> text = "Serial: 523524234235"
>>> m = re.search(r'Serial: (\d+)', text)
>>> m.group(1)
'523524234235'
您还可以使用 split 在每行中获取两个部分,然后检查第一部分以查看它是什么类型的标记,序列号、零件号等。
您的正则表达式需要一些改进。
m = re.search(r'Serial: (\d+)', text) ==> ` m = re.search(r'Serial:[\s]*(\d+)[\s]*', text)`
