我有一个包含许多行的文本文件,例如:
Total:4CASES gross weight(KG):76 net weight(KG):60 volume(CBM):0.99
Total:203CASES gross weight(KG):16695.88 net weight(KG):15329.37 volume(CBM):99.29
Total:198CASES gross weight(KG):14892.25 net weight(KG):13347.77 volume(CBM):105.14
Total:231CASES gross weight(KG):18730.56 net weight(KG):16825.96 volume(CBM):112.77
我试着提取数字,得到箱子的总数,重量和体积。你知道吗
对于total cases,我在文件的每一行使用以下表达式:
matchTotalCases = re.search(r'Total:\w*CASES\s', line)
当我去matchTotalCases.group()
它给我Total:4CASES
作为第一行。这对我来说没关系,但对于毛重我正在努力:
matchGrossWeight = re.search(r'^gross\sweight(KG):\w*[.]?[\w]*$', line)
但它什么也不回。。。你知道吗
那么,如何调整regex以得到类似gross weight(KG):76
或者更好的结果,直接得到76?你知道吗
谢谢你的支持。你知道吗
正则表达式有几个问题。查看正则表达式语法文档:https://docs.python.org/2/library/re.html#regular-expression-syntax
matchGrossWeight
的正则表达式以字符^
开始,该字符将仅匹配字符串开头的,或在每行开头与^{您需要转义括号(
()
)才能将它们用作正则表达式中的文字字符。你用小数点匹配数字的方法相当笨拙。您可以简单地使用
\.
来匹配文字.
字符。在regexpr中,将
\w*
替换为(\d+)
删除
^
和$
,因为它们分别用于行的开始和结束。逃逸
(
和)
正确处理数字。
下面是一个有效的例子:
相关问题 更多 >
编程相关推荐