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

标签 python regex sublimetext3

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

Level1 with some text
 Level2 
Level1 
  Level3 and its text

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

我的预期输出是:

Level1 with some text
    Level2 
Level1 
        Level3 and its text

\t*len(\1) 是否存在?

编辑:我会喜欢基于 Regex 的解决方案,因为我的目标是在 SublimeText 编辑器中使用它,它具有由 regex 替换的功能。

最佳答案

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

Find What:     (^|\G)\s
Replace With:  \t

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

关于python - 获取正则表达式中匹配的字符数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24944317/

相关文章:

javascript - 一个或两个数字正则表达式

regex - 如何替换 Swift 中的第一次出现?

虚奇函数的 Python 傅里叶逆变换

python - 减去 Pandas 或 Pyspark Dataframe 中的连续列

regex - 如何匹配满足我的正则表达式模式的最短可能的字符序列?

sublimetext3 - Sublime text 3 打开文件夹选项不起作用

Ubuntu 16.04 - Sublime Text 不在菜单栏中显示菜单

c++ - 崇高文字3中的gdb:调试器不会在断点处停止并立即退出

python - 如何获取 numpy 数组中最大值的所有索引?

python - 基于Python的Web可视化编程接口(interface),用于数据可视化