使用来自finditer的元组作为startpos / endpos进行进一步搜索

时间:2017-03-22 14:00:25

标签: python object tuples match

我写了一些代码,最后解析一个主要包含日期和附加数据的文档。并使用相应的数据返回日期。

到目前为止,我得到了你们的一些帮助:

f = open("Krupp.txt", "r")
contents = f.read()

f.close() #close the file
with open("testoutput.txt", "a+") as f:
    #my regex to find german dates in special format
    for m in re.finditer("(Montag|Dienstag|Mittwoch|Donnerstag|Freitag|Samstag|Sonnabend|Sonntag)(, )([123][0-9]|[1-9])(. )(Januar|Februar|März|April|Mai|Juni|Juli|August|September|Oktober|November|Dezember)( )([0-2][0-9][0-9][0-9])", contents):
    #print whole matchobject
    print m.group(0)

该文件如下所示:

Donnerstag, 16. März 2014

17:30 Uhr

19:00 Uhr

Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.

Details
Montag, 20. Oktober 2011

18:00 Uhr

19:30 Uhr

Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.

我的输出(如果已打印)如下所示:

Donnerstag, 16. März 2014

Montag, 20. Oktober 2011

现在我希望能够将这些日期用作startpos和endpos以进行进一步搜索。但我不知道如何索引这些日期。

如果我使用group(1),它只返回“Donnerstag”和“Montag”。如果我使用group(2),则返回“,”等等。

我理解,我的matchobject是一组元组。但是我怎么能用那些元组呢?我希望能够在日期3和5或日期2和9之间进行搜索。

请写下noobs的答案:) 谢谢

0 个答案:

没有答案