如何将模式(#/空格/大写字母)分成以大写字母开头的新行?

如何将模式(#/空格/大写字母)分成以大写字母开头的新行?

我在 Notepad++ 中有数千行代码。我需要一个搜索和替换公式,按照以下模式换行:

以大写字母开头的单个数字/空格/名称

得到的新行必须以名称的大写字母开头,以便……

Northern Harmony p,3,1:52.2 
SOME VINTAGE BEACH  
Mach Three p,3,1:49 Somebeachsomewhere p,3,1:46.4 -
Wheres The Beach Douknowwhereurgoin p,3,1:52.1

…变成:

Northern Harmony p,3,1:52.2 
SOME VINTAGE BEACH  
Mach Three p,3,1:49 
Somebeachsomewhere p,3,1:46.4 -
Wheres The Beach Douknowwhereurgoin p,3,1:52.1

我可以在“中找到字符串找什么“使用:(?=[1-9] [AZ])

但我不知道该输入什么更简单的任务“用。。。来代替”以创建以名称的大写字母开头的新行。

提前感谢您的时间和帮助。

答案1

  • Ctrl+H
  • 找什么:(?<=\d)\h*(?=[A-Z])
  • 用。。。来代替:\n
  • 查看 环绕
  • 查看 正则表达式
  • Replace all

解释:

(?<=\d)         # positive look behind, make sure we have a digit before
\h*             # 0 or more horizontal spaces
(?=[A-Z])       # positive lookahead, make sure we have a capital letter afer

截图(之前):

在此处输入图片描述

截图(之后):

在此处输入图片描述

答案2

你需要使用捕获组,我认为你不需要向前看。如果你“发现”

([0-9]) ([A-Z])

(零也是一个数字)并将其替换为

\1\n\2

\1指的是与第一组括号匹配的表达式,\2是第二组)
(另外,一定要选择‘正则表达式’搜索模式)

在此处输入图片描述

你会得到以下结果:

在此处输入图片描述

相关内容