You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

正则提取div内容出现字符丢失,如何还原被转义的字符?

问题解决思路

问题根源

你遇到的问题本质是JavaScript字符串的转义规则导致的:在字符串字面量里,\f是一个特殊转义序列,会被解析为换页控制字符(不可见),所以你的原始字符串'<div>\frac{5}{6}</div>'实际存储的内容是<div> rac{5}{6}</div>(中间的空白就是换页符),正则提取时自然会把这个不可见字符忽略,剩下rac{5}{6}。

解决方案

  1. 修正字符串字面量写法
    如果是直接在代码里定义字符串,需要把反斜杠转义(用两个反斜杠\\表示一个实际的\):

    var text = '<div>\\frac{5}{6}</div>';
    var inBetween = text.replace(/<div>(.*?)<\/div>/g,'$1');
    console.log(inBetween); // 输出:\frac{5}{6}
    
  2. 外部字符串的转义处理
    如果这个字符串是从外部(比如接口返回、文件读取)获取的,要确保数据源传递时保留了原始的\,避免被提前转义。一旦\f被解析成换页符,就无法再还原出原始的\frac了——因为转义后的控制字符已经丢失了\和f的原始信息。

内容的提问来源于stack exchange,提问作者Fodder

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.24 16:54:51