【问题标题】:Regular expression for validating a url用于验证 url 的正则表达式
【发布时间】:2009-06-19 06:13:25
【问题描述】:

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

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

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

【问题讨论】:

  • 发布您编写的正则表达式可能会帮助其他人帮助您;此外,网络上有很多例子,也许稍微研究一下就可以了

标签: c# .net regex


【解决方案1】:

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

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

【讨论】:

  • 我需要的完美答案。
【解决方案2】:

我建议您更好地查看以下网站

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

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

【讨论】:

    【解决方案3】:
    【解决方案4】:

    非常感谢fr的回复.. 这就是我写的..也适用于查询字符串...但是在添加 [] 时失败了..

    /^(https?|ftp)://(?#)(([a-z0-9$.+!*\'(),;\?&=-]|%[0 -9a-f]{2})+(?#)(:([a-z0-9$.+!*\'(),;\?&=-]|%[0-9a -f]{2})+)?(?#)@)?(#)((([a-z0-9][a-z0-9-][a-z0-9].) (#)[a-z]{2}[a-z0-9-]a-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$_.+!*\' (),;:@&=-]|%[0-9a-f]{2}))(?# )(\?([a-z0-9$_.+! *\'(),;:@&=-]|%[0-9a-f]{2}))(?#)?)?)?(?#)(#([a- z0-9$_.+!*\'(),;:@&=-]|%[0-9a-f]{2})*)?(?#)$/i

    【讨论】:

    • 我的眼睛!护目镜什么都不做!
    • net.tcp://... 也是一个 Uri,不在您的正则表达式中。
    【解决方案5】:

    如果你想要带有 http 的 url,请使用这个

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

    如果 oyu 不想要 URL 中的 http 然后去

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

    【讨论】:

      猜你喜欢
      • 2011-06-17
      • 2023-03-21
      • 1970-01-01
      • 2015-11-08
      • 2018-08-06
      • 2011-05-16
      • 2012-01-24
      • 1970-01-01
      相关资源
      最近更新 更多