我正在嘗試從字串中提取一些不完整的 URL。讓我舉一個例子來說明我所說的不完整 URL:
tny.sh/FJFCG8w
gka.co/cte3
google.com
cdn.ne/ecoe3
我檢查了一堆使用正則運算式檢測前綴的解決方案,如 HTTP 和東西。但上述鏈接是沒有前綴的鏈接。那么有可能做到嗎?
這是我嘗試在字串中提取 URL 的方法:
protected LinkedList<string> ExtractLink(string txt)
{
var linkParser = new Regex(@"\b(?:https?://|www\.)\S \b", RegexOptions.Compiled | RegexOptions.IgnoreCase);
LinkedList<string> urls = new LinkedList<string>();
foreach (Match m in linkParser.Matches(txt))
urls.AddFirst(m.Value);
return urls;
}
這是呼叫該方法的示例:
ExtractLink("Hello, this is the link that you need to check tny.sh/FJFCG8w");
uj5u.com熱心網友回復:
您可以改用此正則運算式
[-a-zA-Z0-9@:%._\ ~#=]{2,256}\.[a-z]{2,6}([-a-zA-Z0-9@:%_\ .~#?&\/=])*
如果您還想將 url 與 http(s) 協議匹配,請使用此
(https?:\/\/)?[-a-zA-Z0-9@:%._\ ~#=]{2,256}\.[a-z]{2,6}([-a-zA-Z0-9@:%_\ .~#?&\/=])*
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/493893.html
