如何使用正则表达式在Java中验证URL?

bluesky1年前 ⋅ 153 阅读

ChatGPT的回答仅作参考:

可以使用以下正则表达式来验证URL:

```
^(http|https)://[a-zA-Z0-9\\-\\.]+\\.[a-zA-Z]{2,3}(/\\S*)?$
```

在Java中,可以使用Pattern和Matcher类来实现正则表达式的匹配。以下是一个示例代码:

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

public class UrlValidator {
    private static final String URL_REGEX = "^(http|https)://[a-zA-Z0-9\\-\\.]+\\.[a-zA-Z]{2,3}(/\\S*)?$";
    private static final Pattern URL_PATTERN = Pattern.compile(URL_REGEX);

    public static boolean validate(String url) {
        Matcher matcher = URL_PATTERN.matcher(url);
        return matcher.matches();
    }

    public static void main(String[] args) {
        String url1 = "http://www.example.com";
        String url2 = "https://www.example.com/path/to/page.html";
        String url3 = "ftp://www.example.com";

        System.out.println(validate(url1)); // true
        System.out.println(validate(url2)); // true
        System.out.println(validate(url3)); // false
    }
}
```

在上面的示例中,我们定义了一个UrlValidator类,其中包含一个validate方法,该方法接受一个URL字符串作为参数,并返回一个布尔值,指示该URL是否有效。我们使用Pattern和Matcher类来实现正则表达式的匹配。在main方法中,我们测试了三个URL,其中前两个是有效的,而第三个是无效的。

全部评论: 0

    相关推荐