java - 正则表达式,匹配不带 "http://"和任何其他 "/"的url

标签 java regex url expression

我环顾四周,但可能我无法使用正确的关键字“谷歌”......所以我在这里。 我需要将 url 剥离协议(protocol)与第一个/

相匹配

目标:匹配从http://到第一个/(可能是最后一个/不存在)或到结尾的第一个子字符串 那么问题来了:

我写了这个正则表达式

(?<=//)(.*?)(?=/)

但是这个正则表达式只匹配最后至少有 1 个“/”的 url,不包括协议(protocol)..

这里是一些要匹配的网址:

  • http://www.google.com/(与我的正则表达式匹配)
  • http://www.google.com
  • https://www.google
  • xxx://www.google.com/hello/bleh blah....../
  • xxx://google.com
  • google.com/blah/hello.php?x=11_x.hi

最佳答案

类似...

^(https?:\/\/)?([0-9a-zA-Z][-\w]*[0-9a-zA-Z\.)+[a-zA-Z]{2,6})\/

我在一本书上看到了这个。这应该考虑到变量 http/https,不允许空格,并且可能停在第一个斜杠处。

如果我做错了请评论。

关于java - 正则表达式,匹配不带 "http://"和任何其他 "/"的url,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13704362/

相关文章:

java - 读取带有数字的txt文件并将其保存在字符串矩阵中

Java 用正则表达式替换全部

PHP过滤1个url的数组

java - 如何将所有 url 映射到单个 .html 页面

javascript - 浏览器的 "Previous"按钮位置改变了吗?

java - 如何使用包含换行符和制表符的 ResponseBody 传递详细字符串

java - 当任何一个 ListArray 具有重复元素时,计算 ListArray 的数量

java - 使用 Apache HTTPClient 时无法释放连接

regex - 如何在 Play 2.0 中路由 URL,以便它们对结尾斜杠无动于衷

url - PrestaShop $link -> getProductLink($product) 给出了错误的 URL