用于缩进行的正则表达式
我正在尝试以我喜欢的方式大规模缩进我的代码 - 也就是说,每行应该缩进 4 个空格组,具体取决于该行在代码中的“深度”(例如,子元素应该多于 4 个空格)他们的父母)。
目前,所有内容都有 1 个空格(来自我的代码的示例):
<html>
<head>
<title>Test</title>
<link rel="stylesheet" href="style.css">
<script src="jquery.js"></script>
<script src="loadfiles.js"></script>
</head>
...
我希望第一级有 4 个空格,第二级有 8 个空格,等等。所以基本上将数量乘以 4。
我尝试了这个正则表达式替换命令:
^ (.*)$ // search for
$1 // replace with
但是这仅将每行的第一个空格替换为 4 个空格。我怎样才能让它用 8 个空格等替换 2 个空格?
谢谢。
I'm trying to mass indent my code in the way I prefer it - that is, each line should be indented by groups of 4 spaces, depending on how 'deep' that line is in code (e.g. children elements should get 4 extra than their parent).
Currently everything has 1 space (a sample from my code):
<html>
<head>
<title>Test</title>
<link rel="stylesheet" href="style.css">
<script src="jquery.js"></script>
<script src="loadfiles.js"></script>
</head>
...
I'd like to have it get 4 spaces for the first level, 8 for the second etc. So basically multiply the amount with 4.
I tried this Regex replace command:
^ (.*)$ // search for
$1 // replace with
But this only replaces the first space of each line with 4 spaces. How can I also make it replace 2 spaces with 8 spaces etc.?
Thanks.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
试试这个:
Try this:
我认为 Cybernate 是对的。只是想我会提到您可以通过使用您最喜欢的文本编辑器(例如 Notepad++、Coda 等)中的块编辑(列编辑)功能来完成此操作,而无需任何代码
I think Cybernate is right. Just thought I'd mention you could accomplish this without any code by using block edit (column edit) feature in your favorite text editor (such as Notepad++, Coda etc.)
假设您使用的是 perl 系统,您可以这样做:
即将行开头的空格替换为四倍的空格。
Assuming you are on a system with perl, you could do this:
That is, replace spaces in the beginning of a row by four times as many spaces.