查找文章文本Regex Python

查找文章文本Regex Python,python,regex,parsing,Python,Regex,Parsing,我编写了一个简单的python脚本来解析文本文件。但我的正则表达式需要修改才能在第二组中找到多行 重新导入 如果uuuu name uuuuuu='\uuuuuuu main\uuuuuuu': sonnik=open('sonnik.txt').read().decode('utf-8')) 文章=重新编译(ur'^([A-Za-zА-Я-Я-0-9\-:,\.«»]+)[\n]{2}{5}([A-Za-zА-Я-Я-Я-0-9\-:,\.«»]+)$,re.M | re.U) 结果=arti

我编写了一个简单的python脚本来解析文本文件。但我的正则表达式需要修改才能在第二组中找到多行

重新导入
如果uuuu name uuuuuu='\uuuuuuu main\uuuuuuu':
sonnik=open('sonnik.txt').read().decode('utf-8'))
文章=重新编译(ur'^([A-Za-zА-Я-Я-0-9\-:,\.«»]+)[\n]{2}{5}([A-Za-zА-Я-Я-Я-0-9\-:,\.«»]+)$,re.M | re.U)
结果=article.findall(sonnik)
打印透镜(结果)
打印'-'
打印结果[0][1]。解码('utf-8')
打印'-'
源文本文件的示例:

Банкет

     Видеть во сне банкет - хорошо. Друзья будут к Вам благосклонны. Видеть во сне себя в толпе веселых, нарядно одетых гостей, которые едят на дорогой посуде и пьют старые вина баснословной стоимости, предвещает огромную удачу в любых начинаниях и счастье в кругу друзей.
     Видеть недружелюбие среди гостей, нелепые пустые столы - является знаком очень тяжелых недоразумений, размолвок и разочарований, ожидающих Вас.

Банкрот

     Если Вам снится сон, в котором Вы не можете расплатиться с долгами и чувствуете себя банкротом - то в реальной жизни не бойтесь угрозы с этой стороны. Напротив, Ваша энергия и уверенность в себе позволяет Вам наилучшим образом организовать свои дела.
     Однако иные тревоги могут смутить Вашу душу.
     Если Вы видите банкротами других, то это означает, что наяву Вам встретятся люди благородные, честные в делах, хотя, возможно, излишней откровенностью они могут Вам навредить.
     Молодой особе этот сон обещает небольшую размолвку с любимым, виной чему разность их взглядов.
术语和冠词对。文章文本放置在术语后的新行之间,带有5个空格缩进。当前正则表达式只匹配文本的第一行。是否可以将regex更改为使用类似于组循环的内容?

也许您可以添加:

(?:\n^[ ]{5}[A-Za-zА-Яа-я0-9_\-:,\.«» ]+)*
在第二个捕获组之后,如中所示:

^([A-Za-zА-Яа-я0-9_\-:,\.«» ]+)\n{2}^[ ]{5}([A-Za-zА-Яа-я0-9_\-:,\.«» ]+(?:\n^[ ]{5}[A-Za-zА-Яа-я0-9_\-:,\.«» ]+)*)$

谢谢,这很有效。据我所知,这个未捕获的组只匹配文章的最后一行,而这个扩展组只匹配文章的最后一行。@Dimm它匹配第一行之后的其他行。它的工作方式是,它尝试查找5个空格的缩进,如果没有匹配项,它将停止。这就是它如何匹配文章的最后一行:)