使用 Notepad++ 的 RegEx 查找并替换中间有大写字母的单词

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

我有一大堆名字。每个名称都用换行符分隔,并使用逗号格式化,如下所示

Lastname, Firstname
Lastname, Firstname
Lastname, Firstname
Lastname, Firstname

但是在某些情况下,换行符被删除,因此名字和姓氏被合并,就像这个例子

Lastname, Firstname
Lastname, FirstnameLastname, Firstname
Lastname, FirstnameLastname, Firstname

在 Notepad++ 中使用正则表达式,如何找到这些实例并将它们替换为由新行分隔的正确名称?

谢谢!

编辑:这是我在过去几个小时内尝试并一直在做的事情。

\w+[A-Z]\w*

它可以查找所有意外组合名称的实例。我所做的只是手动将它们一一编辑。从 500 多个实例减少到 300 多个。还有很长的路要走。尝试在网上搜索类似的模式但无济于事。我希望我只需单击一下即可完成此操作,这也可能会帮助将来遇到与我相同情况的人。

regex notepad++
1个回答
0
投票
  • Ctrl+H
  • 查找内容:
    (?<=[a-z])(?=[A-Z])
  • 替换为:
    \n
    \r\n
    ,具体取决于平台
  • 勾选 火柴盒
  • 勾选环绕
  • SELECT 正则表达式
  • 全部替换

说明:

(?<=[a-z])    # positive lookbehind, make sure we have a small letter before
(?=[A-Z])     # positive lookahead, make sure we have a capital after

截图(之前):

截图(之后):

© www.soinside.com 2019 - 2024. All rights reserved.