gpt4 book ai didi

javascript - 使用正则表达式选择 HTML 文本元素?

转载 作者:搜寻专家 更新时间:2023-11-01 04:33:39 24 4
gpt4 key购买 nike

我想在 HTML 文档中查找 ©,基本上得到版权归属的实体。

版权行有几种不同的显示方式:

<p class="bg-copy">&copy; 2011  The New York Times Company</p>

<a href="http://www.nytimes.com/ref/membercenter/help/copyright.html">
&copy; 2011</a>
<a href="http://www.nytco.com/">The New York Times Company</a>

<br>Published since 1996<br>Copyright &copy; CounterPunch<br>
All rights reserved.<br>

我想忽略日期和中间标签,只获取“The New York Times Company”或“Counterpunch”。

我没能找到很多关于将正则表达式与 JavaScript 或 JQuery 结合使用的信息,尽管我觉得这可能会导致严重的头痛。如果有更好的方法,请告诉我。

最佳答案

要获得可靠的解决方案,您可能需要结合使用 DOM 导航和一些启发式方法。您的示例可以使用正则表达式解决,但还有更多可能的场景......

&copy;[\s\d]*(?:<\/.+?>[^>]*>)?([^<]*)

适用于您的三个样本。但仅适用于他们和类似情况。

参见 rubular

解释:

&copy; // copyright symbol
[\s\d]* // followed by spaces or digits
(?:</.+?>[^>]*>)? // maybe followed by a closing tag and another opening one
([^<]*) // than match anything up to the next tag

参见 this回答如何在 javascript 中使用 jquery。基本上你可以使用 match(/regex/) 函数:

var result = string.match(/&copy;[\s\d]*(?:<\/.+?>[^>]*>)?([^<]*)/)

关于javascript - 使用正则表达式选择 HTML 文本元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7946922/

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