如何在regexp中替换未知数量的模式重复?
我正在用制表符缩进替换python文件中的所有空格缩进,因为出于某些原因,我的缩进工具没有进行替换(不过它对js、html和css文件进行了替换) 我试图使用regexp用vscode全局替换模式,但找不到正确的表达式。我考虑用标签替换所有四个空间:<代码> /g < /COD>,但是在代码中的某些地方,在我想要保留的表达式中间有一些特殊的缩进。他们希望使代码更具可读性,如下所示:如何在regexp中替换未知数量的模式重复?,regex,visual-studio-code,indentation,Regex,Visual Studio Code,Indentation,我正在用制表符缩进替换python文件中的所有空格缩进,因为出于某些原因,我的缩进工具没有进行替换(不过它对js、html和css文件进行了替换) 我试图使用regexp用vscode全局替换模式,但找不到正确的表达式。我考虑用标签替换所有四个空间: /g < /COD>,但是在代码中的某些地方,在我想要保留的表达式中间有一些特殊的缩进。他们希望使代码更具可读性,如下所示: a = 1 aaaaaaa = 2 aaaa = 3 替换这四个空格将破坏对齐
a = 1
aaaaaaa = 2
aaaa = 3
替换这四个空格将破坏对齐,因此我希望保留这些空格缩进(我可能稍后会替换它们,但现在我不需要麻烦这么做)
我发现的新模式是一个新行,后跟未知数量的四个空格:/\n()*/g
。它搜索所有的经典缩进,不包括表达式中间的非常特定的凹痕。但是,我找不到一种方法来用正确数量的制表符替换这些模式:我不是在替换一个四个空格,而是在替换未知数量的四个空格
如何用regexp替换未知数量的模式重复?您可以使用
(?您的正则表达式“机械”似乎使用了可视代码;是否正确?您可能需要标记您的问题[可视代码]那么,由于正则表达式的这类内容在不同的语言、IDE和环境中可能会有所不同。你是对的,我将给它贴上标签,thxAre还有促进对齐赋值的语言和样式指南吗?我知道的那些都建议对齐赋值不要有额外的间距,与这里的示例相反。这是一个例子我觉得有时候这样做很好。好吧,除非你需要一个额外的变量,这个变量有一个明显的但不是很长的\u name
,而且你需要做更多的编辑,而不仅仅是添加一行变量。神奇的正则表达式!谢谢你的魔术。