【发布时间】:2017-01-12 18:14:19
【问题描述】:
我需要从一段文本中提取一个超链接,其中包含 url 中的特定单词。示例;
“这是一个带有指向某个页面的链接的文本。单击此链接<a href="/server/specificword.htm>this is a link to a page</a> 以查看该页面。这是一个没有“特定单词”一词的链接:<a href="/server/mypage.htm>this is a link without the word "specificword" in the url</a>”
所以,我需要解析这个文本,检查超链接,看看其中一个是否包含“特定词”这个词,然后提取整个超链接。然后我会这样结束:
<a href="/server/specificword.htm>this is a link to a page</a>
我需要在 URL 中包含特定字词的超链接,例如。 /server/specificword.htm,不在链接文本中
我尝试过的一个正则表达式是这个:/(<a[^>]*>.*?</a>)|specificword/
这将匹配文本中的所有超链接,或“特定词”。如果文本有多个链接,没有“特定词”这个词,我也会得到这些。
另外,我也试过这个,但没有任何效果:
<a.*?href\s*=\s*["\']([^"\'>]*specificword[^"\'>]*)["\'][^>]*>.*?<\/a>
我的正则表达式技能到此结束,任何帮助都会很棒......
【问题讨论】:
-
>之前是否有引号或者它实际上是缺失的? -
你的编程语言/工具/环境是什么?
-
C# 和 Visual Studio。
标签: regex