使用单个正则表达式将空格和制表符行的缩进转换为制表符

时间:2017-03-10 15:34:07

标签: python regex replace sublimetext3 pcre

我想使用单个正则表达式仅使用制表符转换文本中的所有缩进。

我正在使用的正则表达式是:

(?<=\n)((?:\t)|(?:\t\t)|(?:\t\t\t)|(?:\t\t\t\t)|(?:\t\t\t\t\t)|(?:\t\t\t\t\t\t)|(?:\t\t\t\t\t\t\t)|(?:\t\t\t\t\t\t\t\t)|(?:\t\t\t\t\t\t\t\t\t)|(?:\t\t\t\t\t\t\t\t\t\t))?((?:    )|(?:   \t)|(?:  \t)|(?: \t))+?

替换为:

$1\t

原文: enter image description here 请注意,缩进由空格和/或制表符组成。

所需文字: enter image description here

问题是我的正则表达式只适用于一次替换 ,如下所示: enter image description here

我将规则(?<=\n)放在正则表达式前面,仅匹配换行符\n之后的行,以避免正则表达式匹配中间行文本。

如何修改正则表达式以将每个出现的((?: )|(?: \t)|(?: \t)|(?: \t))替换为一个\t

Online demo at regex101

非常感谢。

聚苯乙烯。我认为语法必须是python,因为我将在SublimeText3中使用它。

0 个答案:

没有答案