使用一次替换操作即可将所有前导标签替换为空格

百事可乐

在我的文字中,我想用两个空格替换所有前导选项卡,但不要单独放置非前导选项卡。

例如:

a
\tb
\t\tc
\td\te
f\t\tg

"a\n\tb\n\t\tc\n\td\te\nf\t\tg"

应该变成:

a
  b
    c
  d\te
f\t\tg

"a\n b\n c\n d\te\nf\t\tg"

就我而言,我可以通过多次替换操作来做到这一点,重复次数是最大嵌套级别的多少倍,或者直到没有任何变化为止。

但是难道一次也不能做到吗?

我尝试过但没有想出办法,但我想出的最好办法是环顾四周:

re.sub(r'(^|(?<=\t))\t', '  ', a, flags=re.MULTILINE)

哪个“仅”错误替换一次(f之间的第二个选项卡g)。

现在可能因为单次运行就不可能在正则表达式中进行操作,因为已经替换的零件无法再次匹配(或者替换不会立即发生),并且您无法在其中进行“计数”正则表达式,在这种情况下,我希望看到一些更详细的解释(为什么(只要这不会过多地移到[cs.se]领域内))。

我目前在Python中工作,但是这几乎可以应用于任何类似的regex实现中。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

威克多·斯特里比尤(WiktorStribiżew)

您可以在各行的开头匹配制表符,并在内部使用lambdare.sub替换为双倍空格乘以匹配长度:

import re
s = "a\n\tb\n\t\tc\n\td\te\nf\t\tg";
print(re.sub(r"^\t+", lambda m: "  "*len(m.group()), s, flags=re.M))

参见Python演示

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

每个文件递归地用四个空格替换每个前导标签

来自分类Dev

使用javascript单击按钮一次即可将标签值增加

来自分类Dev

只需一次操作,即可将网站上的小部件中的所有单词复制到单词文件中

来自分类Dev

PHP如何在字符串中查找所有以$或£符号开头的价格并将其替换为引导标签

来自分类Dev

一次替换df列中的所有值

来自分类Dev

nl 没有额外的前导标签/空格

来自分类Dev

使用正则表达式替换所有前导制表符,每个前导符用一个空格

来自分类Dev

使用javascript替换功能,所有字符仅出现一次

来自分类Dev

使用sed将每个行中的最后一个空格替换为逗号,然后删除所有空格

来自分类Dev

一次gsub调用即可删除尾部和前导空格以及多余的内部空白

来自分类Dev

单击即可将SVG元素替换为另一个

来自分类Dev

查找并替换第一次出现的空格

来自分类Dev

Preg 替换为空格但只有一个空格

来自分类Dev

将最后一行以外的所有换行替换为空格

来自分类Dev

Java一次替换多个替换

来自分类Dev

将所有<br>标记替换为javascript中的空格

来自分类Dev

Strings.Replacer:如何一次替换所有子字符串?

来自分类Dev

Dart Regexp替换所有数字,但只允许一次。要么 ,

来自分类Dev

如何用增量编号替换匹配行中的所有第一次出现?

来自分类Dev

用T-SQL中的前导空格替换短语-但也替换没有前导空格的短语

来自分类Dev

在JS中使用RegExp将所有仅包含空格的html标记替换为其空格(相同数量)

来自分类Dev

在JS中使用RegExp将所有仅包含空格的html标记替换为其空格(相同数量)

来自分类Dev

正则表达式每隔JS出现一次即可替换\ n \ n

来自分类Dev

用空格替换前导零

来自分类Dev

有没有办法一次替换表中的所有空值?

来自分类Dev

sed替换第一次出现参数的所有内容,而第二次出现的内容则不替换任何内容

来自分类Dev

使用sed替换字符的最后一次出现

来自分类Dev

正则表达式将多个空格替换为单个空格(不包括前导空格)

来自分类Dev

是否编写一种方法将字符串中的所有空格替换为'%20'?

Related 相关文章

  1. 1

    每个文件递归地用四个空格替换每个前导标签

  2. 2

    使用javascript单击按钮一次即可将标签值增加

  3. 3

    只需一次操作,即可将网站上的小部件中的所有单词复制到单词文件中

  4. 4

    PHP如何在字符串中查找所有以$或£符号开头的价格并将其替换为引导标签

  5. 5

    一次替换df列中的所有值

  6. 6

    nl 没有额外的前导标签/空格

  7. 7

    使用正则表达式替换所有前导制表符,每个前导符用一个空格

  8. 8

    使用javascript替换功能,所有字符仅出现一次

  9. 9

    使用sed将每个行中的最后一个空格替换为逗号,然后删除所有空格

  10. 10

    一次gsub调用即可删除尾部和前导空格以及多余的内部空白

  11. 11

    单击即可将SVG元素替换为另一个

  12. 12

    查找并替换第一次出现的空格

  13. 13

    Preg 替换为空格但只有一个空格

  14. 14

    将最后一行以外的所有换行替换为空格

  15. 15

    Java一次替换多个替换

  16. 16

    将所有<br>标记替换为javascript中的空格

  17. 17

    Strings.Replacer:如何一次替换所有子字符串?

  18. 18

    Dart Regexp替换所有数字,但只允许一次。要么 ,

  19. 19

    如何用增量编号替换匹配行中的所有第一次出现?

  20. 20

    用T-SQL中的前导空格替换短语-但也替换没有前导空格的短语

  21. 21

    在JS中使用RegExp将所有仅包含空格的html标记替换为其空格(相同数量)

  22. 22

    在JS中使用RegExp将所有仅包含空格的html标记替换为其空格(相同数量)

  23. 23

    正则表达式每隔JS出现一次即可替换\ n \ n

  24. 24

    用空格替换前导零

  25. 25

    有没有办法一次替换表中的所有空值?

  26. 26

    sed替换第一次出现参数的所有内容,而第二次出现的内容则不替换任何内容

  27. 27

    使用sed替换字符的最后一次出现

  28. 28

    正则表达式将多个空格替换为单个空格(不包括前导空格)

  29. 29

    是否编写一种方法将字符串中的所有空格替换为'%20'?

热门标签

归档