如何使用正则表达式减少代码的边距(=空格数)?



最近,在Notepad++上,我想减少行首的空格数。

我搜索了一个Regular Expression,但是我没有找到任何。

Notepad++的数组(=tab)上,我有以下行

<html>
<body>
<p>ligne normale</p>
<p>ligne      with    2 spaces  </p>

和我想减少(=除以2个空格数)只在所有行的'<'字符前的空格。

等待结果如下

<html>
<body>
<p>ligne normale</p>
<p>ligne      with    2 spaces  </p>

我尝试遵循Regex和字符串替换

Search:s{2}(?<=^s*)
Replace:(= one space)

但是Notepad++拒绝Regex!

然后我在使用PCRE版本7.8的c++程序上测试了相同的Regex。表示向后查找只能包含固定长度的字符串!

是否有一个正则表达式可以完成这项工作?

PS:下面的Regex使用了一个预先查找的作业…部分!

s{2}(?=(s{2})*<)

最后一行的最后两个空格,就在最后一个

之前 不在页边距并且在必须保留时被删除!

我没有在notepad++上尝试过,但这只使用了非常基本的正则表达式功能,以便将行起空格的数量减半:

Find what:      ^(s+)1
Replace with:   $1

最新更新