public static boolean isURL(String text) {
String tempString = text;
if (!text.startsWith("http")) {
tempString = "https://" + tempString;
}
try {
new URL(tempString).toURI();
return Patterns.WEB_URL.matcher(tempString).matches();
} catch (MalformedURLException | URISyntaxException e) {
e.printStackTrace();
return false;
}
}
Это правильное решение, которое я использую.Добавление https://
перед исходным текстом не позволяет рассматривать текст, такой как "www.cats.com", как URL
.Если new URL()
успешно, то если вы просто отметите шаблон, чтобы исключить простые тексты, такие как "https://cats", которые будут считаться URL
.