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?
3 odpowiedzi
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.
http://(bit\.ly|t\.co)/\w*
Myślę, że ten wynik byłby taki sam jak te górne
Próbowałem tego:
String str = "http://bit.ly/asdfsd";
if(str.matches("http://(bit\.ly|t\.co).+")){
System.out.println("hurray");
}
Podobne pytania
Nowe pytania
java
Java to język programowania wysokiego poziomu. Użyj tego tagu, jeśli masz problemy z używaniem lub zrozumieniem samego języka. Ten tag jest rzadko używany samodzielnie i jest najczęściej używany w połączeniu z [spring], [spring-boot], [jakarta-ee], [android], [javafx], [hadoop], [gradle] i [maven].