1. 正则表达式的话会更简单,思考的思路一定是从最基本的想起,然后在想有没有或者,然后在和其他一起结合起来考虑最大的。
  2. {1,4} 1-4次
#include<regex>

class Solution {
public:
    /**
     * 验证IP地址
     * @param IP string字符串 一个IP地址字符串
     * @return string字符串
     */




    string solve(string IP) {
        // write code here

        regex IPv4("(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])");

        regex IPv6("(([0-9a-fA-F]{1,4})\\:){7}([0-9a-fA-F]{1,4})");

        if(regex_match(IP, IPv4)){
            return "IPv4";
        }else if(regex_match(IP, IPv6)){
             return "IPv6";
        }else{
            return "Neither";
        }



    }
};