2016-06-29 29 views
0

我試圖在文件的每一行中選擇每個出現的4個前導空格,以便用2個空格替換它們以重新格式化。查找所有正則表達式我最終使用了:這個lookbehind有更緊湊的正則表達式嗎?

^ {4}|(?<=^ {4}) {4}|(?<=^ {8}) {4}|(?<=^ {12}) {4}|(?<=^ {16}) {4} 

我做了a demo here準確說明我如何指望它着重突出文件。

有沒有更好的方法來實現這一目標?注意我希望Sublime Text能夠單獨選擇每組4個空格,我不希望包含前導空白的每行都處於一個選區中。

+0

如何使用['\ G'粘合](http://www.regular-expressions.info/continue.html)匹配到行首,[請參閱regex101演示](https:// regex101。 COM/R/yX5vQ2/1)。實際上,這不需要向後看,但不需要[更多步驟](https://regex101.com/r/xN0pV0/1)。 –

回答

1

^(?:() )(?:() )?(?:() )?(?:() )?更換\1\2\3\4

在功能上等同,也不需要回顧後。它需要大約9%的正則表達式引擎的努力(702對7680步)。

相關問題