c# - 仅当前面有 (\d{2} -) 时才在 html 中查找链接 (href)
问题描述
我有大量的 HTML,我想在其中查找 href 链接。href 位于包含有关 href 的信息的表中。仅当该行中的信息包含 (\d{2} -) 两位数字后跟空格和连字符时,我才需要减去 href。
我将在 C# 中使用正则表达式
我试过正则表达式:
((a|link).*?href=(\"|')(.+?)(\"|').*?)
但这捕捉的太多了……
这是html的一部分:
<td style="vertical-align: top; width: 375px"><h1 id="H_67e23f29-bb69-46eb-b15c">00 - <a class="Hyperlink" href="http://xxxx.xxxxxxx.com/Management/HyperlinkLoader.aspx?HyperlinkID=c64b7052-4229-4169-b8a2" class="Hyperlink" onmouseover="HyperlinkLoader.showTooltip(event,'c64b7052-4229-4169-b8a2')" onclick="HyperlinkLoader.followHyperlink(event,{'HyperlinkID':'c64b7052-4229-4169-b8a2','ReturnURL':''});return false">Algemeen</a></h1></td>
<td style="width: 292px; vertical-align: top; background-color: rgb(255, 255, 255); text-align: left"><a class="Hyperlink" href="http://xxxx.xxxxxxx.com/Management/HyperlinkLoader.aspx?HyperlinkID=29517117-26ce-4004-88ed" class="Hyperlink" onmouseover="HyperlinkLoader.showTooltip(event,'29517117-26ce-4004-88ed')" onclick="HyperlinkLoader.followHyperlink(event,{'HyperlinkID':'29517117-26ce-4004-88ed','ReturnURL':''});return false">Asbestbeheersplan</a></td>
<td style="vertical-align: top; width: 375px"><h1 id="H_f534b7b2-a8f5-41b0-9aa8">01 - <a class="Hyperlink" href="http://xxxx.xxxxxxx.com/Management/HyperlinkLoader.aspx?HyperlinkID=7af55197-d865-4cb2-bb9c" class="Hyperlink" onmouseover="HyperlinkLoader.showTooltip(event,'7af55197-d865-4cb2-bb9c')" onclick="HyperlinkLoader.followHyperlink(event,{'HyperlinkID':'7af55197-d865-4cb2-bb9c','ReturnURL':''});return false">Voor werken geldende voorwaarden</a></h1></td>
这就是我想要捕捉的:
match 1(href for "00 - Algemeen"):
http://xxxx.xxxxxxx.com/Management/HyperlinkLoader.aspx?HyperlinkID=c64b7052-4229-4169-b8a2
match 2(href for "01 - Voor werk geldende voorwaarden"):
http://xxxx.xxxxxxx.com/Management/HyperlinkLoader.aspx?HyperlinkID=7af55197-d865-4cb2-bb9c
解决方案
推荐阅读
- python-3.8 - TypeError:需要一个整数(获取类型 str)Python
- laravel - 防止用户在 Ubuntu 中运行 PHP artisan 命令
- google-cloud-firestore - firebase 规则应该如何在收集数据中找到并检查是否存在?
- android - KMM 与 iOS Arm64 二进制框架 (.xcframework) 和 cinterop
- binary - 0和-0的符号幅度相加?
- javascript - 如何用 JS 模拟元素?
- c++ - Assimp C++ - Faceted / Distorted artefacts: FBX import / export - far from origin
- elasticsearch - 在 Elastic Search 中搜索数据
- django - FileField 中的“upload_to”回调是否命中数据库以获取相关内容?
- mobx - 如何暂时阻止 mobx 触发观察者?