字符串中的URL检测器是我正在处理的。在代码中,如您所见,pattern尝试在字符串中查找URL。但是,它无法检测到;
我的模式
Pattern.compile("\\(*https?://[-\\w+&@#/½=~()|?!:,.;]*[-\\w+&@#/%=~()|]");
如何修复它以便能够捕获所提及的网站格式?
为简单起见,预期输入和输出是;
www.website.com -----> www.website.com
对于真实情况,我将在
中使用它109 * 20210adlkwaokwww.website.com121 ^'^)'^ 209 -----> www.website.com
我愿意听到这两个案件的答案。
答案 0 :(得分:1)
我可以注意到,您希望该模式能够在有或没有http / https的情况下捕获网站 - 这不包含在您的表达中。
更重要的是,我不确定\(*是 - (((((https://some.url.com)的目的是什么。
是https://½½½½½½½½½½½½有效网址?它会被接受。怎么样http:// =(抱歉丑陋的逃避。)?
https://test.com。 (末尾有一个点)是一个有效的URL,不会。
尝试这样的事情:
(https?://)?\\w+[\\w-.]*
请注意,并非所有可接受的字符都包括在内,因为我很懒,请参阅RFC 3986。另请参阅http://www.w3.org/Addressing/URL/url-spec.txt
答案 1 :(得分:0)
\b(((?#protocol)https?|ftp)://)?((?#domain)[-A-Z0-9.]+)((?#file)/[-A-Z0-9+&@#/%=~_|!:,.;]*)?((?#parameters)\?[A-Z0-9+&@#/%=~_|!:,.;]*)?
'?#'
评论;