我想通过一些正则表达式工作;我正在使用python。非贪婪python正则表达式
我现在的任务是刮报纸文章,并寻找人死亡的情况。一旦我有一篇相关的文章,我试图扼杀其他一些事情的死亡人数。我试图想出一些模式,但是我特别是遇到了一些困难。把这个样本文章节:
SANAA,10月21日(路透社) - 三个男人被认为是基地组织武装分子 在一辆汽车在也门明显的美国无人机袭击中丧生的 周日,部落人士和本地官员说。
我用来首先拦截'三个'的代码在整个文档上进行替换,因此在应用任何模式之前,'3'变成'3'。有关本实施例的图案是这样的:
re.compile(r"(\d+)\s(:?men|women|children|people)?.*?(:?were|have been)? killed")
的想法是,这种模式会以数字开头,后跟一个可选的名词如列出的那些中的一个,那么具有杂乱的最小量的前发现“死亡”或“死亡”。我要离开房间,使这种模式会赶上:
3 people have been killed since Sunday
,仍然赶上实例的例子:
3 men thought to be al qaeda militants were killed
的问题是,我使用的模式是从收集的日期文章的第一部分,并返回21的计数。到目前为止,没有任何的摆弄使我可以将范围限制在男士一词旁边的数字右边,然后是分词,然后相关的“被杀”。
任何帮助将不胜感激。谈到RE,我绝对没有上师。
的\ d工作,似乎最有意义语法明智的,最具可扩展性。 – hyleaus