Java过滤url的字符串?

Java过滤url的字符串?,java,regex,Java,Regex,我正在为Twitch.tv开发一个IRC机器人 我只是遇到了一个问题 我想过滤一个URL字符串,然后让在聊天中写入URL的用户超时。 在谷歌上搜索我发现我可能应该使用正则表达式,但我不知道怎么做 从这里的另一个问题开始,我发现要使用的正则表达式是 "[a-zA-Z\d]+://(\w+:\w+@)?([a-zA-Z\d.-]+\.[A-Za-z]{2,4})(:\d+)?(/.*)?" 有人能给我举一些例子说明如何使用正则表达式过滤未知URL的字符串吗 它应该是检测像这样的东西 http://

我正在为Twitch.tv开发一个IRC机器人

我只是遇到了一个问题

我想过滤一个URL字符串,然后让在聊天中写入URL的用户超时。 在谷歌上搜索我发现我可能应该使用正则表达式,但我不知道怎么做

从这里的另一个问题开始,我发现要使用的正则表达式是

"[a-zA-Z\d]+://(\w+:\w+@)?([a-zA-Z\d.-]+\.[A-Za-z]{2,4})(:\d+)?(/.*)?"
有人能给我举一些例子说明如何使用正则表达式过滤未知URL的字符串吗

它应该是检测像这样的东西

http://www.google.com
www.google.com
google.com

任何帮助都是正确的,我的英语很差,对此表示歉意=p

您可以这样做:

String regex = "([a-zA-Z\d]+://)?(\w+:\w+@)?([a-zA-Z\d.-]+\.[A-Za-z]{2,4})(:\d+)?(/.*)?"; 
Pattern p = Pattern.compile(regex);
//testedString是此人编写的消息,您希望检查URL模式

   Matcher m = p.matcher(testedString);
   if (m.find()) {
      // timout the user who inserted the URL
   }
顺便说一下,使用正则表达式检测字符串的更多示例如下:


我还改进了您的URL模式,现在它将识别所有常规URL字符串,您包含的正则表达式只匹配真正详细的URL。开头:

[a-zA-Z\d]+://
匹配一个或多个(即+)大写或小写字母或数字(即括号中的部分),后跟“:/”。也就是说,它匹配以“http://”或“ftp://”或其他开头的URL。如果字符串不以该开头,则它将不匹配


在一般情况下匹配URL是很棘手的。你真的分不清字符串“for great deals go to-->dealz.biz”和“哈哈,这太好笑了。你自己想到了吗?”我认为尝试基于URL自动禁止是个坏主意。

给你:玩一会儿