我正在尝试编写一个正则表达式,以便在txt文件中查找包含大写字母名称的行,使用Notepad++或类似工具。一旦我找到匹配的行,我想添加三个换行符。
由于这些行是名称,我有各种条件。其中一些名称仅有两个字符。有些带有连字符。有些有多个名称。有些在最后一个名字和逗号之后没有空格。以下是一些示例:
DOE,JOHN L DOE-SMITH,JOHN L DO,JO L DOE,JOHN BOB L DOE,JOHN L
我也可以在其他程序中运行它。只是试图搞清楚这个问题,所以我可以完成它。
编辑:我曾使用[A-Z]+,[A-Z]+,但它未选择整行,也未考虑空格和连字符。
答案:以下正则表达式满足我的需求:
我确认了“匹配大小写”这个选项被选中。它使用了正则表达式,并替换成以下内容:
由于这些行是名称,我有各种条件。其中一些名称仅有两个字符。有些带有连字符。有些有多个名称。有些在最后一个名字和逗号之后没有空格。以下是一些示例:
DOE,JOHN L DOE-SMITH,JOHN L DO,JO L DOE,JOHN BOB L DOE,JOHN L
我也可以在其他程序中运行它。只是试图搞清楚这个问题,所以我可以完成它。
编辑:我曾使用[A-Z]+,[A-Z]+,但它未选择整行,也未考虑空格和连字符。
答案:以下正则表达式满足我的需求:
^(?!.*[a-z])(?!.*[0-9]).+$
第二部分回答:我还做了一些调整,以完成我的请求的第二部分,即在匹配项前添加三个换行符。
^((?!.*[a-z\d]).+)$
我确认了“匹配大小写”这个选项被选中。它使用了正则表达式,并替换成以下内容:
\n\n\n\1
Thanks Everyone!