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

如何用Regex将字符串中<>内的内容转为HTML粗体格式?

用正则实现转义括号内内容的加粗显示

没问题,这个需求用正则表达式配合JavaScript的字符串替换就能轻松搞定,我给你一步步拆解具体操作:

核心思路

你的字符串里的<和>是HTML转义后的&lt;和&gt;,我们需要匹配每一段&lt;xxx&gt;格式的内容,把中间的xxx部分用<b>标签包裹,同时保留前后的转义括号,这样在HTML页面渲染后就能显示成<**xxx**>的效果。

具体实现步骤

  1. 编写匹配正则
    我们需要精准匹配&lt;开头、&gt;结尾的片段,并且捕获中间的内容,对应的正则是:

    /&lt;([^&]+)&gt;/g
    
    • &lt;:匹配字符串里的转义左括号
    • ([^&]+):捕获组,匹配除了&之外的所有字符(因为&gt;是固定结尾,中间不会出现&,这样能精准捕获括号内的内容)
    • &gt;:匹配转义右括号
    • g:全局匹配标志,确保替换所有符合条件的片段,而不只是第一个
  2. 执行替换操作
    用JavaScript的String.replace()方法,把匹配到的片段替换成&lt;<b>$1</b>&gt;,其中$1代表正则捕获到的括号内内容。

完整示例代码

// 你的原始字符串
var str = "hello &lt;00dansld&gt; this is ur system &lt;00aldjs&gt; and you are &lt;00jdak&gt;";

// 执行替换,得到格式化后的字符串
var formattedStr = str.replace(/&lt;([^&]+)&gt;/g, '&lt;<b>$1</b>&gt;');

// 将结果插入到HTML页面中(比如插入到id为"content"的元素里)
document.getElementById('content').innerHTML = formattedStr;

效果验证

运行这段代码后,页面上会显示:

hello <00dansld> this is ur system <00aldjs> and you are <00jdak>

完全符合你预期的显示效果。

特殊情况补充

如果你的字符串里的<和>是未转义的(也就是直接写的<00dansld>而不是&lt;00dansld&gt;),那只需要把正则调整为:

/<([^>]+)>/g

替换规则改成:

var formattedStr = str.replace(/<([^>]+)>/g, '<b>$1</b>');

这样页面会直接显示<**00dansld**>的效果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.12 04:05:49