REGEX 如何从文本中删除多次出现的未知名称?使用积极的前瞻和反向引用

问题描述 投票:0回答:0

我有这个正则表达式的例子:

((\S(?!\.|por |, | se | que ).)*(Inc|LLC).((?!\.|por |, | se | que ).)*|\d?\D*\d{4}\D?\d{4})(?=.*?\1)

预期的结果是它得到ALL文本上的“名称”,只考虑它们在文本中多次出现。

我不知道这些名字会是什么,只是它们会在文本中多次出现,就像在页眉、页脚或标题中一样。

我的限制是它需要用正则表达式编写,仅此而已,请考虑演示中的配置。

我已经尝试并创建了一个易于可视化的演示

演示

我想匹配出现的ALL

在最后留下一两个不匹配的没有帮助,例如在演示中最后一行都是不匹配的,它不应该(放置是为了帮助可视化留下不匹配的内容,但它可以在文本)

  • 此外,请考虑有一些“名称”(我用黄色下划线标出了它们)实际上不应该匹配,因为,或者它们没有多次出现,或者它们被否定的前瞻性阻止.

regex regex-lookarounds backreference positive-lookahead
© www.soinside.com 2019 - 2024. All rights reserved.