All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.polyglotted.common.util.RegexUtil Maven / Gradle / Ivy

package io.polyglotted.common.util;

import java.util.regex.Pattern;

public abstract class RegexUtil {
    public static Pattern GEOJSON_REGEX = Pattern.compile("^([\\[ ]+-?\\d+.\\d+[, ]+-?\\d+.\\d+[\\] ]+[, ]*)+$");
    public static Pattern UUID_REGEX = Pattern.compile("^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$");
    public static Pattern EMAIL_REGEX = Pattern.compile("(?:[A-Za-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[A-Za-z0-9!#$%&'*+/=?^_`{|}~-]+)*|\"" +
        "(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21\\x23-\\x5b\\x5d-\\x7f]|\\\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f])*\")@(?:(?:[A-Za-z0-9]" +
        "(?:[A-Za-z0-9-]*[A-Za-z0-9])?\\.)+[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?|\\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}" +
        "(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[A-Za-z0-9-]*[A-Za-z0-9]:(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21-\\x5a\\x53-\\x7f]|\\\\" +
        "[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f])+)\\])");
    public static Pattern IP_REGEX = Pattern.compile("^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}" +
        "([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$");
    public static Pattern URL_REGEX = Pattern.compile("^([a-z0-9+.-]+):(?://(?:((?:[a-z0-9-._~!$&'()*+,;=:]|%[0-9A-F]{2})*)@)?" +
        "((?:[a-z0-9-._~!$&'()*+,;=]|%[0-9A-F]{2})*)(?::(\\d*))?(/(?:[a-z0-9-._~!$&'()*+,;=:@/]|%[0-9A-F]{2})*)?|(/?(?:[a-z0-9-" +
        "._~!$&'()*+,;=:@]|%[0-9A-F]{2})+(?:[a-z0-9-._~!$&'()*+,;=:@/]|%[0-9A-F]{2})*)?)(?:\\?((?:[a-z0-9-._~!$&'()*+,;=:/?@]" +
        "|%[0-9A-F]{2})*))?(?:#((?:[a-z0-9-._~!$&'()*+,;=:/?@]|%[0-9A-F]{2})*))?$");

    public static boolean isValidGeoJson(String json) { return GEOJSON_REGEX.matcher(json).matches(); }

    public static boolean isValidUuid(String uuid) { return UUID_REGEX.matcher(uuid).matches(); }

    public static boolean isValidEmail(String email) { return EMAIL_REGEX.matcher(email).matches(); }

    public static boolean isValidIp(String ip) { return IP_REGEX.matcher(ip).matches(); }

    public static boolean isValidUrl(String url) { return URL_REGEX.matcher(url).matches(); }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy