gpt4 book ai didi

Javascript 正则表达式无法按预期工作

转载 作者:行者123 更新时间:2023-11-30 13:15:37 24 4
gpt4 key购买 nike

我将页面中的 HTML 作为纯文本保存在变量中。现在我需要删除文本的某些部分。这是我需要更改的 HTML 的一部分:

<div class="post"><a name="6188729"></a>
<div class="igmline small" style="height: 20px; padding-top: 1px;">
<span class="postheader_left">
<a href="#" style="font-size:9pt;"> RuneRifle </a>
op 24.08.2012 om 21:41 uur
</span>
<span class="postheader_right">
<a href="http://link">Citaat</a> <a href="http://link">Bewerken</a>
</span>
<div style="clear:both;"></div>
</div>
<div class="text">Testforum</div>
<!-- Begin Thank -->
<!-- Thank End -->
</div>

这些替换工作:

pageData = pageData.replace(/href=\".*?\"/g, "href=\"#\"");
pageData = pageData.replace(/target=\".*?\"/g, "");

但是这个替换根本不起作用:

pageData = pageData.replace(
/<span class=\"postheader_right\">(.*?)<\/span>/g, "");

我需要删除每个 spanpostheader_right 及其中的所有内容,但它不起作用。我对正则表达式的了解不是很好,所以如果您能告诉我您是如何得出答案并简单解释一下它的工作原理,我将不胜感激。

最佳答案

点不匹配换行符。使用 [\s\S]而不是点,因为它将匹配所有空白字符或非空白字符(即任何字符)。

正如 Mike Samuel 所说,考虑到 HTML 允许的复杂性(例如,如果说 <a 之后有一个换行符),正则表达式并不是最好的方法,尤其是当您必须查找可能出现的属性时以不同的顺序排列,但您可以通过这种方式匹配示例 HTML 中的大小写。

关于Javascript 正则表达式无法按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12121871/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com