【问题标题】:RegEx: Extracting name between text正则表达式:在文本之间提取名称
【发布时间】:2017-10-06 12:04:16
【问题描述】:

我有以下文本模式:

解决了一个问题。我们要感谢 Jon Doe (facebook.com/JD) 报告此问题。

已解决。我们想承认 联合公司的马丁路德金报告了这一点 问题。

在这两个文本中,我必须从文本 1 中提取实例 Jon Doe 以及从文本 2 中提取 Martin Luther KingUnion Inc 的专有名词。以下是我的尝试,但无法提取文本

(We would like to acknowledge) (\w)* of

【问题讨论】:

    标签: regex text-extraction


    【解决方案1】:

    我认为检索确认的接收者很容易:

    We would like to acknowledge\b\s*(.*?)\b\s*for reporting this issue.$
    

    演示here。这将检索第一个匹配组中的名称。

    为了进一步处理名称,我们需要更好的规范,比如如何处理括号、单词of等等。

    【讨论】:

      【解决方案2】:

      我会匹配“akcnowledge”和“for”之间的任何内容,然后进一步处理文本。第一个group 应该是该文本之间的文本。

      /acknowledge(.*)for/g

      【讨论】: