Python正则表达式在文本中匹配人名与abbr(点)

时间:2018-01-16 19:47:47

标签: python regex

我想使用正则表达式匹配段落中的模式,如下所示:

  

©2016 Rina Foygel Barber和Emil Y. Sidky。高维统计中出现的许多优化问题自然地分解为若干项的总和,其中各个项相对简单但复合目标函数只能用迭代算法进行优化。在本文中,我们感兴趣的是形式为F(Kx)+ G(x)的优化问题,其中K是固定的线性变换,而F和G是可以是非凸的和/或不可微分的函数。特别是,如果任一项都是非凸的,现有的交替最小化技术可能无法收敛;其他类型的现有方法可能无法处理不可区分性。我们提出了mocca(镜像凸/凹)算法,这是一种原始/对偶优化方法,它在每次迭代时对每个项采用局部凸近似。受到计算机断层扫描(CT)成像中出现的优化问题的启发,该算法可以处理一系列非凸复合优化问题,并且当整体问题近似凸起时(即,一个术语中的任何凹度均衡),为收敛提供理论保证。通过另一个词中的凸性)。实证结果显示几个结构化信号恢复问题的快速收敛。

这样就可以删除包含人名,年份和版权(©2016 Rina Foygel Barber and Emil Y. Sidky.)的第一行。

我现在唯一可以使用的是^© ?[0-9][0-9][0-9][0-9].+\.。但是,由于人名中的.,这很难与上段相匹配。有什么建议?谢谢!

1 个答案:

答案 0 :(得分:2)

如果您对以下断言感到满意:

  • 姓名和姓氏总是以大写字母开头
  • 对于减少为一个大写字母的名称,此字母后面紧跟着一个点
  • 名称可以用逗号或“和”字
  • 分隔
  • 这些名称以最终点
  • 结尾

然后你可以使用这个正则表达式:^©[0-9]{4} +(([A-Z][a-z]+|[A-Z]\.|and|,) *)*\. *