这个外观是否有更紧凑的正则表达式?

时间:2016-06-29 01:14:22

标签: regex sublimetext2 regex-lookarounds

我试图在文件的每一行上选择每个出现的4个前导空格,用2个空格替换它们以重新格式化。我最终使用的Find All正则表达式是:

^ {4}|(?<=^ {4}) {4}|(?<=^ {8}) {4}|(?<=^ {12}) {4}|(?<=^ {16}) {4}

我已a demo here显示我希望它突出显示该文件的方式。

有没有更好的方法来实现这一目标?注意我希望Sublime Text分别选择每组4个空格,我不希望每个包含前导空格的行都在一个选择中。

1 个答案:

答案 0 :(得分:1)

^(?:( ) )(?:( ) )?(?:( ) )?(?:( ) )?替换为\1\2\3\4

在功能上是等效的,并不需要外观。

它还需要大约9%的正则表达式引擎(702 vs 7680步)。