我环顾四周,但可能我无法使用正确的关键字“谷歌”......所以我在这里。 我需要将 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/