【发布时间】:2013-09-21 15:58:07
【问题描述】:
我正在尝试提出一个正则表达式,我可以使用它在 txt 文件中使用 Notepad++ 或类似工具查找包含全部大写名称的行。一旦找到匹配的行,我想添加三个换行符。
我有各种条件,因为这些行是名称。有些名字只有两个字符。有些有连字符。有些有多个名称。有些人的姓氏和逗号后没有空格。以下是一些示例:
- 能源部,约翰 L
- DOE-SMITH, JOHN L
- DO,JO L
- 能源部,约翰·鲍勃·L
- 能源部,约翰·L
我也可以在其他程序中运行它。只是想弄清楚这一点,以便我可以完成它。
编辑:我使用的是 [A-Z]+、[A-Z]+,但它没有选择整行,也没有考虑空格和连字符。
回答:以下正则表达式满足了我的需求:
^(?!.*[a-z])(?!.*[0-9]).+$
第 2 部分答案:我还进行了调整,以完成我的请求的第二部分,即在匹配项之前添加三个换行符。
^((?!.*[a-z\d]).+)$
我还确保选择了匹配案例。它正在使用正则表达式。并替换为以下内容:
\n\n\n\1
谢谢大家!
【问题讨论】:
-
显示你当前的正则表达式!
-
添加在上面。谢谢。
-
嗨詹姆斯,请将您的答案添加为答案,而不是编辑您的问题。
标签: regex