用于验证网址的正则表达式

时间:2009-06-19 06:13:26

标签: c# .net regex

我是正则表达式的初学者。我的要求是使用查询字符串,方括号等来验证网址的简单网址。例如,

www.test.com?waa= [样本数据]

我写的正则表达式只适用于简单的网址。带方括号的那个失败了。有什么想法吗?

5 个答案:

答案 0 :(得分:6)

你真的需要使用正则表达式吗?

bool isUri = Uri.IsWellFormedUriString("http://...", UriKind.RelativeOrAbsolute)

答案 1 :(得分:3)

我建议您更好地了解以下网站

http://www.regular-expressions.info/dotnet.html

如果没有真正看到正在使用的正则表达式,我无法提供太多见解。给你答案也不会教你太多。给一个男人一个正则表达式你帮助他一点。教他正则表达,他对生活有益

答案 2 :(得分:1)

答案 3 :(得分:1)

非常感谢回复.. 这就是我为查询字符串写的..works ...但是在添加[] ..

时失败了

/ ^(?HTTPS | FTP)://(#?)(( - |%[[α-Z0-9 $ + * \'(),; \&安培=!?] 0-9A-F] {2})+(#)(:([A-Z0-9 $ + * \'(); \&安培; = - ] |%[0?!? ????-9a-F] {2})+)(#)@)(#)((([A-Z0-9] [A-Z0-9 - ] [A-Z0-9] 。)(#)[AZ] {2} [A-Z0-9 - ] 一个-Z0-9 |(\ d | [1-9] \ d | 1 \ d {2} | 2 [0-4] [0-9] | 25 [0-5]){3}(#)(\ d |。?[1-9] \ d | 1 \ d {2} | 2 [0 -4] [0-9] | 25 [0-5])(#))(?:?!\ d +)(#))(((/ +([A-Z0-9 $ _ + * \'(),;:@&amp; = - ] |%[0-9a-f] {2})(?#)(\?([a-z0-9 $ _ !+ * \'();:@&安培; = - ] |%[0-9A-F] {2}))(#)))(#)(#????? ([!一个-Z0-9 $ _ + * \'();:@&安培; = - ] |%[0-9A-F] {2})*)(#)$ / I <? / p>

答案 4 :(得分:0)

如果你想要带有http

的网址,请使用此功能

http(s)?://([\ w-] +。)+ [\ w-] +(/ [\ w- ./?%& amp; =] *)?

如果oyu dnt想要URL中的http,那么请转到

?://([\ w-] +。)+ [\ w-] +(/ [\ w- ./?%& amp; =] *)?