Java正则表达式怎样验证URL格式

2025-03-21日常编程35603

在Java中,可以使用java.util.regex.Patternjava.util.regex.Matcher类来验证URL格式。首先,需要创建一个正则表达式来匹配URL格式,然后使用PatternMatcher类来进行验证。

以下是一个示例代码,用于验证URL格式:

import java.util.regex.Pattern;
import java.util.regex.Matcher;

public class URLValidator {

    private static final String URL_REGEX = "^(https?|ftp)://" +
            "[a-zA-Z0-9.-]+(:[0-9]+)?(\\/[a-zA-Z0-9.-]*)*(/[^\\s]*)?$";

    private static final Pattern URL_PATTERN = Pattern.compile(URL_REGEX);

    public static boolean isValidURL(String url) {
        if (url == null) {
            return false;
        }
        Matcher matcher = URL_PATTERN.matcher(url);
        return matcher.matches();
    }

    public static void main(String[] args) {
        String[] urls = {
                "http://www.example.com",
                "https://www.example.com",
                "ftp://www.example.com",
                "http://www.example.com:8080",
                "http://www.example.com/path/to/resource",
                "http://www.example.com/path?query=param",
                "http://www.example.com/path#anchor",
                "invalid-url"
        };

        for (String url : urls) {
            System.out.println("URL: " + url + " is valid: " + isValidURL(url));
        }
    }
}

在这个示例中,我们定义了一个名为URL_REGEX的正则表达式,用于匹配URL格式。然后,我们使用Pattern.compile()方法编译这个正则表达式,并将其存储在URL_PATTERN变量中。

isValidURL()方法接受一个字符串参数url,并使用URL_PATTERN.matcher(url)创建一个Matcher对象。然后,我们调用matcher.matches()方法来检查输入的URL是否与正则表达式匹配。如果匹配,则返回true,否则返回false

main()方法中,我们测试了一些不同的URL,以验证它们是否有效。

本文地址:https://www.ufcn.cn/tutorials/3385910.html

如非特殊说明,本站内容均来自于网友自主分享,概不代表本站观点,如有任何问题我们都将在收到反馈后的第一时间进行处理!