"<p>第一个</p>
<pre><code>console.log(1);</code></pre>
<p>第二个</p>
<pre><code>console.log(2);</code></pre>"
想把pre>code里面的内容提取出来并替换掉该怎么做
这些全是字符串不是dom
"<p>第一个</p>
<pre><code>console.log(1);</code></pre>
<p>第二个</p>
<pre><code>console.log(2);</code></pre>"
想把pre>code里面的内容提取出来并替换掉该怎么做
这些全是字符串不是dom
var html="<pre><code>console.log(1);</code></pre><pre><code>console.log(2);</code></pre>";
html.replace(/<pre><code>(.*?)<\/code><\/pre>/g, "$1");
正则匹配的话就这样
let str = `
<p>第一个</p>
<pre><code>console.log(1);</code></pre>
<p>第二个</p>
<pre><code>console.log(2);</code></pre>`;
str.match(/(?<=<pre><code>)[\s\S]*?(?=<\/code><\/pre>)/gi); // 获得
str.replace(/(?<=<pre><code>)[\s\S]*?(?=<\/code><\/pre>)/gi, 'asdf'); // 替换
其中,/(?<=somePattern)/
是“零宽度正回顾后发断言”贼基尔长,/(?=somePattern)/
是“零宽度正预测先行断言”贼基尔长*2,/somePattern/g
是全局匹配,/somePattern/i
是大小写不敏感,/somePattern*?/
是懒惰匹配。
13 回答12.8k 阅读
7 回答1.9k 阅读
3 回答1.1k 阅读✓ 已解决
2 回答1.2k 阅读✓ 已解决
6 回答875 阅读✓ 已解决
6 回答1k 阅读
2 回答1.3k 阅读✓ 已解决
提供下非正则的方式
如果是jq的话
如果非得用js