3

我想使用 Notepad++ 用相同数量的给定字符替换一行中的所有前导空格。例如,我想改变:

zero
 one
  two
   three

进入:

zero
@one
@@two
@@@three

我没有成功地让这个工作。我确实找到了 Regex 来替换 notepad++ 中的 html 空白和前导空白,但无法获得我想要的结果。

记事本++可以做到这一点吗?我宁愿不必编写代码来执行此操作...

4

2 回答 2

7

正如蒂姆的回答所表明的那样,这不能在单个搜索/替换中完成,但是这里是您可以使用多个替换相当快速地完成相同任务的方法:

寻找:^( *)[ ]

用。。。来代替:\1@

现在只需向“全部替换”按钮发送垃圾邮件,直到它指示没有要替换的匹配项。这将在每次点击时替换每行开头的一个空格,因此它需要与最缩进的行相同的点击次数。

确保选择“正则表达式”作为搜索模式。

于 2012-09-21T16:44:21.943 回答
1

您需要可变长度的后向断言来在单个正则表达式中执行此操作,而 Notepad++ 不支持这些。

作为记录,在 EditPadPro 中您可以搜索(?<=^ *)\s并替换为@.

于 2012-09-21T16:39:55.453 回答