到目前为止我使用正则表达式
的模式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”时,它会崩溃。
我该如何解决这个问题?
感谢您的时间!
答案 0 :(得分:2)
下面的答案假设输入将是URL,我们只会在没有query string
的情况下使用它。试试这个
(http)s?:\/\/[^#?]+
如果您需要旧的多捕获方法,可以使用(http)s?
更改(.+)
..虽然我们可以直接定义协议,例如(http|ftp|...)s?
。