我有在regex101上測驗過的正則運算式,但是當我在 nodejs 中使用它時,它不會替換換行符。正則運算式是/([ ]*\n) /gm. 它應該用一個換行符替換多個換行符。代碼如下。這段代碼是我的 vscode 擴展的一部分。有人可以告訴我我做錯了什么嗎?
function format(str) {
const regex = /([ ]*\n) /gm;
const subst = `\n`;
const result = str.replace(regex, subst);
return result;
}
function format(str) {
const regex = /([ ]*\n) /gm;
const subst = `\n`;
const result = str.replace(regex, subst);
return result;
}
console.log(format(`abc
d
s
s`));
uj5u.com熱心網友回復:
該問題很可能與 CRLF 行尾有關。
您可以使用
str.replace(/(?:\s*\n) /g, '\n')
請注意,您在這里不需要m標志。
請參閱 JavaScript 演示:
const str = "abc\r\n \r\nd\r\n\r\ns\r\n\r\n\r\n\r\n\r\n \r\n\r\n \r\n\r\ns";
console.log(str.replace(/(?:\s*\n) /g, '\n'));
const str2 = "abc\n \nd\n\ns\n\n\r\n\r\n\n \n\r\n \n\ns";
console.log(str2.replace(/(?:\s*\n) /g, '\n'));
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/476805.html
標籤:javascript 节点.js 正则表达式 vscode 扩展
