java正则表达式匹配特定的URL

时间:2012-02-13 03:19:01

标签: java android regex

我曾经在php中构建了一个程序,它使用非常特定的正则表达式来匹配链接,但是这种模式似乎不适用于java,我试图找到相当于java的

"~http://(bit.ly|t.co)~"
在php中,这会匹配http://t.co/UURRNlrKhttp://bit.ly/AenG5W之类的链接,这与java相当吗?

3 个答案:

答案 0 :(得分:1)

http://(bit\.ly|t\.co)/\w*

我认为这个结果与上面的结果相同

答案 1 :(得分:1)

我认为你在寻找

String str = "http://t.co/UURRNlrK";
String p = "(http://(t\.co|bit\.ly).*)";

Pattern pattern = Pattern.compile(p);
Matcher matcher = pattern.matcher(str);

if(matcher.find())
System.out.println(matcher.group(0));

输出= http://t.co/UURRNlrK

如果str = "http://bit.ly/AenG5W"

输出= http://bit.ly/AenG5W

这是一个很好的Regex Tutorial for java。

答案 2 :(得分:0)

我试过了:

String str = "http://bit.ly/asdfsd";

if(str.matches("http://(bit\.ly|t\.co).+")){
    System.out.println("hurray");
}