猿问

js正则怎么匹配<pre><code>xxx</code</pre>中的内容

"<p>第一个</p>
<pre><code>console.log(1);</code></pre>
<p>第二个</p>
<pre><code>console.log(2);</code></pre>"

想把pre>code里面的内容提取出来并替换掉该怎么做

这些全是字符串不是dom


人到中年有点甜
浏览 749回答 3
3回答

元芳怎么了

提供下非正则的方式如果是jq的话var html="<pre><code>console.log(1);</code></pre>";&nbsp;console.log(&nbsp; $(html).text()&nbsp; );如果非得用jsvar textEle=document.createElement("div");textEle.innerHTML="<span>你要提取的文字</span>";console.log(textEle.innerText);

qq_笑_17

var html="<pre><code>console.log(1);</code></pre><pre><code>console.log(2);</code></pre>";&nbsp;html.replace(/<pre><code>(.*?)<\/code><\/pre>/g, "$1");

江户川乱折腾

正则匹配的话就这样let str = `&nbsp; <p>第一个</p>&nbsp; <pre><code>console.log(1);</code></pre>&nbsp; <p>第二个</p>&nbsp; <pre><code>console.log(2);</code></pre>`;str.match(/(?<=<pre><code>)[\s\S]*?(?=<\/code><\/pre>)/gi);&nbsp; // 获得str.replace(/(?<=<pre><code>)[\s\S]*?(?=<\/code><\/pre>)/gi, 'asdf');&nbsp; // 替换其中,/(?<=somePattern)/是“零宽度正回顾后发断言”贼基尔长,/(?=somePattern)/是“零宽度正预测先行断言”贼基尔长*2,/somePattern/g是全局匹配,/somePattern/i是大小写不敏感,/somePattern*?/是懒惰匹配。
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答