获取正则表达式中匹配的字符数

bag*_*age 2 python regex sublimetext3

我有一个缩进一个空格的文件:

Level1 with some text
 Level2 
Level1 
  Level3 and its text
Run Code Online (Sandbox Code Playgroud)

我想缩进4个空格。我考虑了一个正则表达式来匹配起始空间^(\s)*。但是,我不知道如何将其替换为“为找到的每个空间应用一个选项卡”。

我的预期输出是:

Level1 with some text
    Level2 
Level1 
        Level3 and its text
Run Code Online (Sandbox Code Playgroud)

有类似的东西\t*len(\1)存在吗?

编辑:我希望有一个基于正则表达式的解决方案,因为我的目标是在 SublimeText 编辑器中使用它,该编辑器具有正则表达式的替换功能。

p.s*_*w.g 5

我不认为Python正则表达式引擎支持这一点,但既然你提到使用Sublime Text,你可以使用anchor \G它匹配上一场比赛结束后立即的位置。

Find What:     (^|\G)\s
Replace With:  \t
Run Code Online (Sandbox Code Playgroud)

此模式将匹配紧跟在行开头上一个匹配项之后的任何单个空白字符。