正斜杠后的字符串

时间:2016-12-02 02:46:16

标签: java regex

到目前为止我使用正则表达式

的模式
byte*

在处理字符串https://url.spec.whatwg.org/#url-syntax时,它成功地抓住了/我试图避免的?和#,但是当我尝试https://url.spec.whatwg.org/

时会出现问题

最后的空白是阻止它在第2组中找到/我已经尝试在前瞻中包含\ p {Blank},但它没有做任何事情。

https://www.google.com/search?q=Regular+Expressions&num=1000

上面的字符串相同;它抓住/搜索之前?但是当我尝试“https://www.google.com/search”时,它会崩溃。

我该如何解决这个问题?

感谢您的时间!

1 个答案:

答案 0 :(得分:2)

下面的答案假设输入将是URL,我们只会在没有query string的情况下使用它。试试这个

(http)s?:\/\/[^#?]+

如果您需要旧的多捕获方法,可以使用(http)s?更改(.+) ..虽然我们可以直接定义协议,例如(http|ftp|...)s?

Online Test