首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python regex将人名与文本中的abbr (点)匹配。

Python regex将人名与文本中的abbr (点)匹配。
EN

Stack Overflow用户
提问于 2018-01-16 19:47:47
回答 1查看 187关注 0票数 0

我希望使用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].+\.。然而,由于人名中的.,这很难与上面的段落相匹配。有什么建议吗?谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-01-16 20:29:56

如果您对以下断言表示满意:

  • 名字和姓氏总是以大写字母开头。
  • 对于化作大写字母的名称,这个字母总是紧跟在一个圆点后面。
  • 名称可以用逗号或"and“字分隔。
  • 这些名字以最后一个点结尾。

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

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48288763

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档