code: public static boolean isMatchIPByPattern(String whiteList, String localIP) {
          if (StringUtils.isNotBlank(whiteList)) {
              if (StringUtils.ALL.equals(whiteList)) {
                  return true;
              }
              for (String ips : whiteList.replace(',', ';').split(";", -1)) {
                  try {
                      if (ips.contains(StringUtils.ALL)) { // 带通配符
                          String regex = ips.trim().replace(".", "\\.").replace("*", ".*");
                          Pattern pattern = Pattern.compile(regex);
                          if (pattern.matcher(localIP).find()) {
                              return true;
                          }
                      } else if (!isIPv4Host(ips)) { // 不带通配符的正则表达式
                          String regex = ips.trim().replace(".", "\\.");
                          Pattern pattern = Pattern.compile(regex);
                          if (pattern.matcher(localIP).find()) {
                              return true;
                          }
                      } else {
                          if (ips.equals(localIP)) {
                              return true;
                          }
                      }
                  } catch (Exception e) {
                      LOGGER.warn("syntax of pattern {} is invalid", ips);
                  }
              }
          }
          return false;
      }
docs: 判断当前ip是否符合白名单
  
  @param whiteList 白名单，可以配置为*
  @param localIP   当前地址
  @return 是否在名单里