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

想把 <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] 为何不行?

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


手掌心
浏览 412回答 1
1回答

米琪卡哇伊

第一个问题str.replace(/&lt;/g, '<')第二个问题[.] 相当于 [\.]另外匹配任意字符 用反义词比较好吧 [\s\S] 或 [\d\D] 之类的
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript