Kiedyś zbudowałem program w php, który używał bardzo specyficznych wyrażeń regularnych do dopasowywania linków, jednak ten wzorzec nie działa w javie, próbuję znaleźć odpowiednik java

"~http://(bit.ly|t.co)~"

W php odpowiadałoby to linkom takim jak http://t.co/UURRNlrK i http://bit.ly/AenG5W jaki byłby odpowiednik tego w Javie?

0
Edmund Rojas 13 luty 2012, 07:19

3 odpowiedzi

Najlepsza odpowiedź

Myślę, że szukasz

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));

Wynik = http://t.co/UURRNlrK

Jeśli str = "http://bit.ly/AenG5W"

Wynik = http://bit.ly/AenG5W

Oto fajny Samouczek dotyczący wyrażeń regularnych dla Javy.

1
RanRag 13 luty 2012, 07:43
http://(bit\.ly|t\.co)/\w*

Myślę, że ten wynik byłby taki sam jak te górne

1
Christoper Hans 13 luty 2012, 07:29

Próbowałem tego:

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

if(str.matches("http://(bit\.ly|t\.co).+")){
    System.out.println("hurray");
}
0
JZares 13 luty 2012, 07:57