var y = document.querySelectorAll("pre code");
for(var i = 0; i < y.length; i++) {
y[i].innerHTML = y[i].innerHTML.replace("\n", "");
}<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Testing HighlightJS</title>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/10.6.0/styles/routeros.min.css">
</head>
<body>
<h3>Testing HighlightJS</h3>
<h4>CSS</h4>
<pre><code class="language-css">
.class{
font-size: 0.85rem;
font-weight: 600;
font-family: monospace;
}
h1 .header{
font-size: 1.5rem;;
font-family: Arial;
}
</code></pre>
<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/10.6.0/highlight.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/10.6.0/languages/css.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/highlightjs-line-numbers.js/2.6.0/highlightjs-line-numbers.min.js"></script>
<script>hljs.highlightAll(); hljs.initLineNumbersOnLoad();</script>
</body>
</html>
这可能是微不足道的,但我无法找到或解决。
如果超过两个换行,则换两个换行,否则换一行。
我可以写的是:
.replace(\[\r\n]{2, } ? \n\n, "\n\n ? \n")但这给出了错误
发布于 2021-03-21 17:28:23
您可以匹配3个或更多换行符,并替换为2个换行符,或者使用替换匹配2个换行符并将其替换为1个换行符。
((?:\r?\n){3,})|(?:\r?\n){2}
let str = `test1
test2
test3
test4`;
str = str.replace(/((?:\r?\n){3,})|(?:\r?\n){2}/g, (_, g1) => g1 ? "\n\n" : "\n");
console.log(str);
https://stackoverflow.com/questions/66730669
复制相似问题