我使用Highlight js插件,它可以自动缩进我的代码。我的IDE还自动缩进我的代码。
<div>
<div>
<pre>
<code>
<h1>Hello world</h1>
</code>
</pre>
</div>
</div>
我想要这个:
<h1>Hello word</h1>
但因为Highlight js不做相对独立,我最终得到了这个:
<h1>Hello world</h1>
所以我尝试了类似的东西
$('pre code').html($('pre code').html().replace(/^s{24,}/g,''));
它对字符串的第一行很好,但我想对每一行都这样做-->从每行开始每隔24个第一个空格删除一次。
两件事:
s
也匹配换行符,因此需要[^Srn]
来匹配任何水平空间/m
修饰符是使^
匹配一行的开头而不是整个字符串的开头所必需的
由于我在上面的示例中只计算了19个空格,这里有一个有效的正则表达式:
/^[^Srn]{19,}/gm
请参阅regex演示