我一直试图传递一个包含超链接及其描述的列表的大型html片段。
<li class="exhibitor-box">
<figure>
<img src="/images/show/logos/exhibitor_7210_letter.jpg" alt="Business Show Exhibitor">
</figure>
<h3 class="exhibitor-name"><a href="/exhibitors/financial-services/365-business-finance/">365 Business Finance</a></h3>
<p>We provide funding to small and medium size businesses that take payment via credit cards.Our application process takes minutes, and you...</p>
</li>
我一直试图从每个列表元素中获取超链接描述,但我只能使用我的正则表达式匹配包含标记的整个超链接,即使使用正则表达式,我将如何删除我周围的文本匹配而不是在记事本++中替换我的匹配。
答案 0 :(得分:1)
如果您要做的只是用内部文本替换锚标记,您可以这样做:
找到:
(<li class="exhibitor-box">.*?<a href=".*?">)(.*?)(</a>.*?</li>)
替换为:
($2)
说明:
您正在从li
标记中捕获第一组中的“参展商框”类到第一个捕获组中的开始锚标记,第二个捕获组中的链接文本,并通过第三个捕获组中的结束li
标记关闭锚标记。然后,只用第二个捕获组替换它们。
请注意,这是非常特别的 - 如果你的类发生了变化,你必须稍微改变它,如果你的HTML从一个li
标签格式不一致到下一个,它可能不起作用,它假设你每个li
代码只有一个锚标记。
答案 1 :(得分:0)
你可以这样做:
<a href=".*">(.*)</a>
并提取该组。
但是正如评论中提到的那样,你不应该通过RegEx来解析HTML。
如果您在提取群组时遇到问题,可以尝试使用Addon RegEx Helper或类似功能,以便您提取确切的群组。