对于这种情况,我应该使用什么正则表达式?

我想创建一个正则表达式来仅获取以日期开头的行(忽略其他行)和带有“前缀”字样的行。正则表达式应该是什么样子的?


我的txt文件中有以下结构:


                                                        Prefix : 0051601


    Data     Material                                       No. OS  Hist. Nr/Controle        Quant.       Vlr.Unit.            Vlr.Total 

 ----------------------------------------------------------------------------------------------------------------------------------------

 13/01/2008  00101050 Lampada farol H5 24V                          003   4863                2,000        9,870556              19,7411 

                                                                                        ====== Total dia 13/01/2008 ======

                                                                     Entradas :                                                         

                                                                     Saídas   :               2,000                              19,7411

                                                                     -------------------------------------------------------------------

主要代码是:


import glob, os

import re


os.chdir("./txtfiles/")


for file in glob.glob("*.txt"):


    with open(file) as f:

        content = f.readlines()

        # not working, just for test purpose

        result = re.match(r'Prefix', content, re.M|re.I)

        if result:

            print(content)

        else:

            print "no match found!"


胡子哥哥
浏览 139回答 2
2回答

翻过高山走不出你

下面没有re,假设开始日期为日期的行是唯一/在位置 2 和 5 处的行...:   with open(file) as f:        for line in f:            if line[2]==line[5]=='/' or 'Prefix' in line:                print(line)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python