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

2024-05-16 20:40:10 发布

您现在位置:Python中文网/ 问答频道 /正文

我想用一个正则表达式转换文本中只有制表符的所有缩进。在

我使用的正则表达式是:

(?<=\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))+?

替换为:

^{pr2}$

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

所需文本: enter image description here

问题是,我的regex只适用于一个替换,如您在这里看到的: enter image description here

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

如何修改regex以将((?: )|(?: \t)|(?: \t)|(?: \t))中的每个替换为一个\t?在

Online demo at regex101

非常感谢。在

我认为语法必须是针对python的,因为我将在sublimitext3中使用它。在


Tags: 文本demo规则语法at制表符regexonline