Skip to main content
 首页 » 编程设计

c#之没有空格的多个网络链接的正则表达式

2024年01月26日29dyllove98

我正在尝试解析包含多个 YouTube 链接但链接之间没有空格的字符串。链接也可以以“http”或“https”开头。示例字符串:

https://www.youtube.com/watch?v=abc123http://www.youtube.com/watch?v=abc123https://www.youtube.com/watch?v=abc123 

所以有 3 个链接。我根本无法控制该字符串,因为它来自人们发布链接的聊天服务,然后我的工作是对 URL 进行正则表达式并记录下来。

这是我到目前为止提出的正则表达式:

(https?\:\/\/)?(www\.)?(youtube\.com|youtu\.?be)\/\S+ 

不过,当它看到字符串下方的模式时,我不确定如何让它中断。谁能帮忙?

请您参考如下方法:

您可以在 http 上拆分,然后将其添加回去:

var input = "https://www.youtube.com/watch?v=abc123http://www.youtube.com/watch?v=abc123https://www.youtube.com/watch?v=abc123"; 
 
var split = input.Split("http"); 
 
var urls = split.Select(x => "http" + x); 

这当然假设“http”没有出现在 url 中的其他任何地方......