Kiểm tra IPv4 hợp lệ bằng Regex. IPv4: "X1.X2.X3.X4" với 0≤Xi≤255, không leading zeros.
Ví dụ
"172.15.254.2" → IPv4 (hợp lệ)
"312.25.12.1" → Not (312 > 255)
Regex Pattern
Mỗi octet: 0-9 | 10-99 | 100-199 | 200-249 | 250-255
(([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])
Code C++
#include <bits/stdc++.h>
using namespace std;
string validIPAddress(string IP) {
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])");
if (regex_match(IP, ipv4)) return "IPv4";
else return "Not";
}
int main() {
string IP = "172.16.254.1";
cout << validIPAddress(IP) << endl;
return 0;
}
Kết quả
IPv4
IP hợp lệ.