Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C++

Xác thực địa chỉ IPv4 bằng Regex trong C++

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ệ.