gpt4 book ai didi

c# - 卡在正则表达式中以检测 C# 中特定域的 URL

转载 作者:太空宇宙 更新时间:2023-11-03 21:52:31 25 4
gpt4 key购买 nike

我正在尝试找出属于 :

的 URL
http://domain.blob.core.windows.net/ 
https://domain.blob.core.windows.net/

http://domain.blob.core.windows.net
https://domain.blob.core.windows.net

我写的正则表达式

Regex reg2= new Regex(@"^http(s?)://[0-9a-zA-Z](.blob.core.windows.net)(/?)$");
string url = "http://abc.blob.core.windows.net";
if(reg2.IsMatch(url))
{
Console.WriteLine("Yes");
}
else
{
Console.WriteLine("no");
}

我找不到匹配项。它不起作用 :( 我在正则表达式方面很弱。所以任何人都可以帮我找出我的错误吗?我正在使用 c#。它总是打印不。

更新:对我有用的最终答案:

Regex reg2 = new Regex(@"^http(s?)\:\/\/[0-9a-zA-Z]*(\.blob\.core\.windows\.net)
(/?)$");

以防万一有人需要这样的东西:)

最佳答案

你接近 "^http(s?)://[0-9a-zA-Z](.blob.core.windows.net)(/?)$" 然而[0-9a-zA-Z] 应该是 [0-9a-zA-Z]+ 因为你想在 .blob.core 之前是多个字符.windows.net 不只是一个字符。

注意:如果您不捕获部分匹配项,则此处不需要括号,可选运算符仅应用于前一个字符,因此 ^https?$ 匹配 'http' 'https' 而不是 '' 因为只有 s 是可选的,还要转义所有 . characters as in regex . characters matches any single character so to match a literal . 你想要 \. .

"^https?://[0-9a-zA-Z]+\.blob\.core\.windows\.net/?$"

关于c# - 卡在正则表达式中以检测 C# 中特定域的 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13797899/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com