我使用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,''));
它对于字符串的第一行工作正常,但我想在每一行都这样做 - &gt; 从每行开始删除每24个第一个空格。
答案 0 :(得分:1)
两件事:
\s
也会匹配换行符,因此您需要[^\S\r\n]
来匹配任何水平空间/m
修饰符需要^
匹配行的开头,而不是整个字符串。由于我在上面的示例中只计算了19个空格,因此这是一个正常的正则表达式:
/^[^\S\r\n]{19,}/gm
请参阅regex demo