如何在Notepad ++中使用Regex在双引号内的每个大写字母之间添加空格?

时间:2016-01-19 04:29:42

标签: regex notepad++

在Notepad ++中使用正则表达式查找/替换,我试图在双引号内的每个大写字母之间添加空格:

.Label("ATextWhichHasCapitalLetters")
.Label(Constants.DefinedLabel)
.Label("AnotherTextWhichHasCapitalLetters")

结果应为:

.Label("A Text Which Has Capital Letters")
.Label(Constants.DefinedLabel)
.Label("Another Text Which Has Capital Letters")

我尝试了很多表达式但未能得到预期的结果。

非常感谢任何帮助。

感谢。

3 个答案:

答案 0 :(得分:4)

((?<=\w)[A-Z])(?!(?:[^"]*"[^"]*")*[^"]*$)

您可以使用此功能并替换为$1\1。请参阅演示。

https://regex101.com/r/iJ7bT6/14

答案 1 :(得分:1)

或此模式

(?:^[^"]*"|\G)[^"]*?\K(?<![" ])[A-Z]

Demo

答案 2 :(得分:1)

利用非单词边界表达式\B并提前查找大写字母以查找插入点,其余的前瞻性需要以下1个引号:

Search: \B(?=[A-Z][^"]*"[^"]*$)
Replace: <space>

请参阅demo