正则表达式获取HTML代码中的URL??

nyucv 2007-10-23 02:48:41


我用如下代码获取URL

MatchCollection mc = Regex.Matches(htmlSource, "(?<=href=\"?)[^'\"> ]+.txt", RegexOptions.IgnoreCase);

可是当url中有空格一类的字符时就不能正确获取URL
例如:
http://220.181.38.82/tl?filename=/txt/694/just one last dance-sarah connor.txt

得到的结果是:http://220.181.38.82/tl?filename=/txt

请帮助完善一下以上正则.以便能够获取完整的URL
...全文
257 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
nyucv 2007-10-24
  • 打赏
  • 举报
回复
谢谢楼上几位!朋友参与.问题解决.
nyucv 2007-10-23
  • 打赏
  • 举报
回复
UP
liuguangliang 2007-10-23
  • 打赏
  • 举报
回复
"(?<=href=\")[^'\">]+\\.txt"
liuguangliang 2007-10-23
  • 打赏
  • 举报
回复
"(?<=href=\")[^'\">]+.txt"

[^ '\" > ]里面多了空格
mobydick 2007-10-23
  • 打赏
  • 举报
回复
不好意思,稍微改一下txt之前的.有歧义
string regexStr = "(?<=href=\"?)[^\\r]+\\.txt";
mobydick 2007-10-23
  • 打赏
  • 举报
回复
string regexStr = "(?<=href=\"?)[^\\r]+.txt";
monkeyfu 2007-10-23
  • 打赏
  • 举报
回复
先把URL做encoding,把空格之类的符号转换为%20这样的符号.然后再用正则表达式进行匹配.

111,095

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧