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

cn.nukkit.command.tree.node.IPStringNode Maven / Gradle / Ivy

package cn.nukkit.command.tree.node;

import cn.nukkit.api.PowerNukkitXOnly;
import cn.nukkit.api.Since;

import java.util.function.Predicate;
import java.util.regex.Pattern;

/**
 * 验证IP地址并解析为{@link String}值
 * 

* 不会默认使用,需要手动指定 */ @PowerNukkitXOnly @Since("1.19.60-r1") public class IPStringNode extends StringNode { private static final Predicate IP_PREDICATE = Pattern.compile("^(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9])\\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[0-9])$").asPredicate(); @Override public void fill(String arg) { if (IP_PREDICATE.test(arg)) this.value = arg; else this.error(); } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy