关于 javascript 正则替换指定条件字符串的两个问题

发布于 2022-09-05 10:32:18 字数 738 浏览 13 评论 0

想把 <code ... </code> 里的 &lt; unescape 掉成 <,如何能做到?

比如字符串如下:

var str = `<pre><code class="lang-html">&lt;style&gt;
  .myDiv {
    width: 150px;
    height: 200px;
    background: red;
    border-top-left-radius: 100%;
  }
&lt;/style&gt;
&lt;div class=&quot;myDiv&quot;&gt;&lt;/div&gt;
</code></pre>
`

// 随便写的,无视之 
str = str
  .replace(/<code(.|\n|\t|\f|\r|\v)+?(&lt;)(.|\n|\t|\f|\r|\v)+<\/code>/g, (a) => {
    return ''
  })

console.log(str)

另外,任意字符我是用 (.|\n|\t|\f|\r|\v) 去匹配,而 [.\n\t\f\r\v] 为何不行?

以上两个问题,求指导 ..

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

守不住的情 2022-09-12 10:32:18
第一个问题
str.replace(/</g, '<')
第二个问题
[.] 相当于 [\.]
另外匹配任意字符 用反义词比较好吧 [\s\S] 或 [\d\D] 之类的
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文