C# 通过正则表达式匹配web地址

C# 通过正则表达式匹配web地址,c#,regex,url,C#,Regex,Url,我想通过regex匹配一个网址,该网址应与www.google.com(即有协议和无协议)一样捕获。试试。试试。阅读。这并不像你想象的那么简单。如果您只需要解析一小部分URL,那么这项工作就更容易了。Read。这并不像你想象的那么简单。如果您只需要解析一小部分URL,那么这项工作就更容易了。这完全取决于您想要捕获的内容(“FTP”?“/index.htm”),因为基于RFC标准的通用URI捕获非常困难,但您可以从以下内容开始: /^((https?\:\/\/)?([\w\d\-]+\.){2,

我想通过regex匹配一个网址,该网址应与www.google.com(即有协议和无协议)一样捕获。

试试。

试试。

阅读。这并不像你想象的那么简单。如果您只需要解析一小部分URL,那么这项工作就更容易了。

Read。这并不像你想象的那么简单。如果您只需要解析一小部分URL,那么这项工作就更容易了。

这完全取决于您想要捕获的内容(“FTP”?“/index.htm”),因为基于RFC标准的通用URI捕获非常困难,但您可以从以下内容开始:

/^((https?\:\/\/)?([\w\d\-]+\.){2,}([\w\d]{2,})((\/[\w\d\-\.]+)*(\/[\w\d\-]+\.[\w\d]{3,4}(\?.*)?)?)?)$/

复杂的请参见?

这将取决于您想要捕获的内容(“FTP”“/index.htm”),因为基于RFC标准的通用URI捕获非常困难,但您可以从以下内容开始:

/^((https?\:\/\/)?([\w\d\-]+\.){2,}([\w\d]{2,})((\/[\w\d\-\.]+)*(\/[\w\d\-]+\.[\w\d]{3,4}(\?.*)?)?)?)$/
复杂见?

为什么不

/google\.com/
?

它可以免费访问www.google.com甚至google.com

为什么不呢

/google\.com/
?


它可以免费访问www.google.com甚至google.com

确切的回答(和链接),我会提供!确切的回答(和链接),我会提供!你的意思是匹配特定域名(如谷歌),还是需要匹配任意域名?我想找到有协议和没有协议的域名。我发现这个答案非常有用:你的意思是匹配特定域名(如谷歌),或者你需要匹配任意域名吗?我想找到有协议和没有协议的域名。我发现这个答案非常有用:它还捕捉到“我想我可以尝试在google.com上搜索这个正则表达式,不,所以现在比google好。嗯,我想知道午餐吃什么。嗯,培根”,如果你在大多数浏览器中输入它,你就会进入谷歌:)这意味着当你搜索谷歌时,你会在这里而不是另一个糟糕的网站。所以这个问题没问题。@John:请停止妄想评论,不要再提了。这是一个合理的答案,建议如何匹配特定的域名(例如google.com)。它还捕捉到“我想我可以尝试在google.com上搜索这个正则表达式,不,所以现在比谷歌好。嗯,我想知道午餐吃什么。嗯,培根”,如果你在大多数浏览器中输入它,你就会进入谷歌:)这意味着当你搜索谷歌时,你会在这里而不是另一个糟糕的网站。所以这个问题没问题。@John:请停止妄想评论,不要再提了。这是一个合理的答案,建议如何匹配特定的域名(如google.com)。不过,你可以得到“足够好”,所以这个答案并没有特别的帮助。它的回答和没有完整问题说明的回答一样好。在某种程度上,作为顶级答案的竞争对手。问题是很少有人阅读RFC,我已经阅读并编写了一个IPV6解析器,我知道这项工作有多难。不过,你可以得到“足够好”的答案,所以这个答案并没有特别有用。它的答案和没有完整问题说明的答案一样好。在某种程度上,作为顶级答案的竞争对手。问题是很少有人阅读RFC,我已经阅读并编写了一个IPV6解析器,我知道这项工作有多难。