【问题标题】:Hi help me please with this regex, why it does not work?嗨,请帮我解决这个正则表达式,为什么它不起作用?
【发布时间】:2013-07-01 21:58:07
【问题描述】:

这是域过滤器,第一个块可能是 http、https、ftp 而且我也不知道,如何在不输入每个世界的情况下实现特殊大小写敏感性,我需要例如:Http 或 HTTP,或 http 但不是 hTtP,这是错误的。 感谢大家的帮助!!!

string reg = @"^?((http|https|ftp)\://)(([a-zA-Z]|[а-яА-ЯёЁ])[0-9]\_\.+){3,61}([a-zA-Z]|[а-яА-ЯёЁ]){2,6}$";

【问题讨论】:

  • 你希望匹配什么字符串?
  • 我很好奇:在哪种情况下Http 可以,但hTtP 不行?

标签: c# regex url dns


【解决方案1】:

听起来你想要这种模式:

^?((https?|ftp|HTTPS?|FTP)\://)(([a-zа-яё]|[A-ZА-ЯЁ])[0-9]\_\.+){3,61}([a-zа-яё]|[A-ZА-ЯЁ]){2,6}$

但如果你想在 URL 的 just scheme 部分中使用标题大小写字符串:

^?(([hH]ttps?|ftp|HTTPS?|FTP)\://)(([a-zа-яё]|[A-ZА-ЯЁ])[0-9]\_\.+){3,61}([a-zа-яё]|[A-ZА-ЯЁ]){2,6}$

或者在每个部分都允许标题大小写字符串,这会有点混乱:

^?(([hH]ttps?|ftp|HTTPS?|FTP)\://)([a-zа-яёA-ZА-ЯЁ]?([a-zа-яё]|[A-ZА-ЯЁ])[0-8])\_\.+){3,61}[a-zа-яёA-ZА-ЯЁ]([a-zа-яё]|[A-ZА-ЯЁ]){1,6}$

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-12-05
    • 1970-01-01
    相关资源
    最近更新 更多