如何匹配具有不同模式的特定单词的句子

时间:2018-05-02 05:28:39

标签: regex python-2.7

我们这里有一个问题...... 我们有一个具有不同句型的文本。 我们希望得到具有特定单词的句子 例如:

  

另一点,通过提供另一个模型。分析   第二段可以引导下列方向。 '该   的析构'显然,处理毁灭,同时,书   创世纪涉及创造。词汇类似:Blackie   注意到“混乱已经发生了”,这是对上帝的讽刺性逆转   在虚空上强加形式。此外,短语“光线条纹”   他们通过关闭的百叶窗进来了   在破坏的背景下使用的创造者的严肃性也是如此   在早期的段落中模仿了光明和黑暗的创造   圣经书。格林对圣经词汇的讽刺用法   可能正在指出,对他来说,第二次世界大战   标志着特定基督教时代的结束。现在,它是完美的   有争议的是,法西斯主义的兴起与此有关,或者它与之相关   原因。对格林来说,对个性和世俗领导的崇拜有   取代了教会在西方社会中的关键作用。在   这种方式上面确定了两个主题 - 两者之间的紧张关系   个人和社区,以及宗教 - 是相互联系的。在论文方面   在讨论主题后,可以写出这个链接   个人和社区的关系,以及与主题的联系   领导。这可能是文章的总结论。后   学生可以很好地决定考虑和解释   这就是(destructors。)'归结为:格林正在制作一个   法西斯主义的兴起与教会衰落之间的明确联系   影响。尽管法西斯主义最近被打败了,   格林认为缺乏任何可以提供的现代价值观   社会凝聚力为其再现提供了潜力。

在上面的文字中,我们有粗体字(析构函数)。我们希望得到具有“#des; destructors"”字样的句子 " destructors"可以以不同的格式存在。例如:(destructors), (DesTrucTors), (Des.tructors), DESTRUCTORS, destructors, des-tructors
当我们尝试编写正则表达式来匹配句子时,我们无法在某些条件下得到句子(就像我们得到半句等等)。

请你帮忙解决这个问题 如果此信息无法帮助您解决,请告知我们。会更新它。
谢谢......

2 个答案:

答案 0 :(得分:0)

如果你能提供迄今为止尝试过的正则表达式模式,将会很有帮助。我能想到的最好的是,

str_text='your text here containing DESTRUCTORS'
match=re.search('pass all the destructors combination here', str_text, flags=re.IGNORECASE)

在此处使用正则表达式https://docs.python.org/3/library/re.html

尝试更多可用于字符串格式设置的模式

答案 1 :(得分:0)

我对Python不太了解,但我相信这可能有用:

for match in re.finditer(r"[^.]*destructors[^.]*\.[^\w\s]*", subject, re.IGNORECASE):
# match start: match.start()
# match end (exclusive): match.end()
# matched text: match.group()

无论如何,我认为你想要的正则表达式是:

[^.]*destructors[^.]*\.[^\w\s]*

设置不区分大小写和全局标志。