javascript - 编译 HTML 后替换回车符 (?)

标签 javascript regex

解析 HTML 后我得到以下对象:

parsed HTML

我想去掉除一个以外的所有“↵”。我怎样才能做到这一点?我尝试过这样的事情:

weirdString.replace(/(\r\n|\n|\r)/gm, ""));

但是,这会替换所有“↵”,但正如我已经提到的,我想替换除第一个之外的所有......

最佳答案

您可以捕获它并使用反向引用恢复:

weirdString.replace(/^([^\S\r\n]*(?:\r\n?|\n))|(?:\r\n?|\n)/g, "$1"));

这里不需要使用m修饰符。

详细信息:

  • ^ - 字符串的开始
  • ([^\S\r\n]*(?:\r\n?|\n)) - 捕获第 1 组:
    • [^\S\r\n]* - 除了 CR 和 LF 之外的任何 0+ 空格
    • (?:\r\n?|\n) - 任何风格的换行符
  • | - 或
  • (?:\r\n?|\n) - 任何样式的换行符。

对于 $1,只有捕获到第 1 组的内容会放回替换结果中。

var weirdString = "    \r\n\r\n\n\rSome text";
console.log(weirdString.replace(/^([^\S\r\n]*(?:\r\n?|\n))|(?:\r\n?|\n)/g, "$1"));

关于javascript - 编译 HTML 后替换回车符 (?),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42109020/

相关文章:

这些特殊字符的 javascript 正则表达式

php - 删除从最后一次出现的特定字符序列开始的所有字符

JavaScript - 在 Safari 上执行代码之前可用的对象定义

javascript - localStorage 或 sessionStorage 是否会影响网站的可访问性?

javascript - 将二维数组从 ruby​​ 传递到 javascript

用于检测类/接口(interface)/等声明的 Java 正则表达式

javascript - :host getting oveerirden by universal selector css

javascript - 我正在尝试使用 json-server、Node 和 Express 为我在本地主机上的 Angular 应用模拟一个 RESTFUL API。 CORS问题接踵而至

javascript - 正则表达式,删除重复出现的字符但保留至少一个

php - nginx 拒绝访问 .log 文件扩展名