Если у вас есть строка, которую нужно проверить на то, является ли её значением корректным URL адресом, можно воспользоваться следующим регулярным выражением:

"^(https?|ftp|file)://[-a-zA-Z0-9+&@#/%?=~_|!:,.;]*[-a-zA-Z0-9+&@#/%=~_|]"

Исходный код

public class RegexURL {

    public static void main(String[] args) {
        System.out.println(checkUrl("https://java-lessons.ru/regex/")); // true
        System.out.println(checkUrl("file:///home/alex/java-lessons.ru/")); // true
        System.out.println(checkUrl("https://example.com\\test")); // false
    }

    public static boolean checkUrl(String s) {
        return s != null && s.matches("^(https?|ftp|file)://[-a-zA-Z0-9+&@#/%?=~_|!:,.;]*[-a-zA-Z0-9+&@#/%=~_|]");
    }
}

Как проверить URL с помощью регулярного выражения