我试图在网站上找到源代码中的所有链接,有人能告诉我需要在我的正则表达式中找到这些表达式吗?
(以及其他)的重复:Regular expression for parsing links from a webpage?
Google发现更多:html links regex site:stackoverflow.com
答案 0 :(得分:-3)
我不确定这些会如何转化为C#(我还没有在C#中进行过任何开发),但是我可以在JavaScript或ColdFusion中使用它。它可能会让您了解如何在C#中执行此操作。
在JavaScript中我认为这会起作用:
rex = /.*href="([^"]+)"/;
a = source.replace(rex,'\n$1').split('\n');
之后a将是一个包含链接的数组......虽然我不确定它是否会按照我认为的方式运行。这里的想法是替换创建一个换行符分隔列表(因为你不能在URL中有换行符),然后你可以用split()拆分列表来获取你的数组。
通过在ColdFusion中进行比较,你必须做一些稍微不同的事情:
a = REMatch('href="[^"]+"',source);
for (i = 1; i < ArrayLen(a); i++) {
a[i] = mid(a[i],6,len(a[i])-1);
}
同样,我还没有对它进行测试,但是rematch返回表达式的实例数组,然后for-next循环删除实际URL周围的href =“”。