用 <tag_name> 替换为 null 的字符串

string with &lt;tag_name&gt; replace with null

我只是想像这样替换没有 HTML 部分的以下文本

designed to display special types of text:&lt;b&gt;- Bold text&lt;strong&gt;&nbsp;- Important text&lt;i&gt;&nbsp;- Italic text&lt;em&gt;&nbsp;- Emphasized text&lt;mark&gt;&nbsp;- 

使用此正则表达式将 &lt;&gt; 之间的所有内容替换为空

html = html.replace("/(&lt;\/*\w+?&gt;)/g", '');

但我的正则表达式似乎不起作用,如何获得准确的正则表达式?

如果您不打算使用群组,则无需使用 () 分组。一个相对简单的正则表达式就足够了:

  • 匹配&lt;
  • 匹配任意数量的字符,non-greedy.*?
  • 匹配&gt;
  • 适用于所有 g
  • 替换为''

var html = 'designed to display special types of text:&lt;b&gt;- Bold text&lt;strong&gt;&nbsp;- Important text&lt;i&gt;&nbsp;- Italic text&lt;em&gt;&nbsp;- Emphasized text&lt;mark&gt;&nbsp;- ';
console.log(html.replace(/&lt;.*?&gt;/g, ''));

警告 请注意,使用正则表达式解析 HTML 并不可靠。它可能适用于您的场景,但它 非常 容易中断/在它不起作用的地方提供字符串。