Java 如何修复它,以便它能够捕获提到的URL格式?
字符串中的URL检测器是我正在研究的。如您所见,在代码中,模式尝试在字符串中查找URL。但是,它无法检测Java 如何修复它,以便它能够捕获提到的URL格式?,java,python,c++,c,regex,Java,Python,C++,C,Regex,字符串中的URL检测器是我正在研究的。如您所见,在代码中,模式尝试在字符串中查找URL。但是,它无法检测 www.website.com www.website.edu www.website.gov ww2.sample.co.uk ftp 我的模式 Pattern.compile("\\(*https?://[-\\w+&@#/½=~()|?!:,.;]*[-\\w+&@#/%=~()|]"); 它将如何被修复,以便它可以捕捉提到的网站格式 为简单起见,预期输入和输出为
- www.website.com
- www.website.edu
- www.website.gov
- ww2.sample.co.uk
- ftp李>
Pattern.compile("\\(*https?://[-\\w+&@#/½=~()|?!:,.;]*[-\\w+&@#/%=~()|]");
它将如何被修复,以便它可以捕捉提到的网站格式
为简单起见,预期输入和输出为:
www.website.com------>www.website.com
对于实际情况,我将在中使用它
109*20210ADLKWAOK www.website.com121^'^')^209------>www.website.com
我很乐意听到关于这两种情况的答案。我注意到,您希望该模式能够捕获包含或不包含http/https的网站-这不包括在您的表达式中 更重要的是,我不确定\(*的目的是什么-((((()也会被抓住 https://½是一个有效的url吗?它将被接受。那么http://=(很抱歉用“.with”这个词转义)呢 (结尾带点)是有效的URL,不会 试着这样做:
(https?://)?\\w+[\\w-.]*
请注意,并不是所有可接受的字符都包括在内,因为我是纯懒惰的,请参阅RFC 3986了解这些字符。另请参阅
“?#”
comment;如果你到处对其他用户发表辱骂性评论,你将被暂停使用。立即停止。
\b(((?#protocol)https?|ftp)://)?((?#domain)[-A-Z0-9.]+)((?#file)/[-A-Z0-9+&@#/%=~_|!:,.;]*)?((?#parameters)\?[A-Z0-9+&@#/%=~_|!:,.;]*)?