【问题标题】:Regex to matches a url with or without http in java正则表达式在java中匹配带有或不带有http的url
【发布时间】:2012-12-24 04:42:49
【问题描述】:

我想验证带有或不带有 http 的 url。 我试过^http(s{0,1})://[a-zA-Z0-9_/\\-\\.]+\\.([A-Za-z/]{2,5})[a-zA-Z0-9_/\\&\\?\\=\\-\\.\\~\\%]*

但这匹配http://google.com but not www.google.com。 我也想要一个匹配 www.google.com 的正则表达式。

谢谢

【问题讨论】:

标签: java regex


【解决方案1】:

尝试使用 ^(https?://)? 而不是 ^http(s{0,1}):// 开始您的正则表达式

【讨论】:

    【解决方案2】:

    ^(?:https?://)? ... the rest of your regex

    • ?: 表示不捕获组
    • ? 量词缩小(如果存在则匹配,如果不存在 - 省略)

    附:我不确定quantifier minification 对英语为母语的人是否有意义,这是俄语的粗略翻译:) 希望如果我弄错了,有人能理解我的意思并能解决我的问题。

    【讨论】:

      猜你喜欢
      • 2014-01-25
      • 1970-01-01
      • 2011-03-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多