1 | import re |
---|
2 | |
---|
3 | def ogCheckStringInGroup(element, group): |
---|
4 | """ |
---|
5 | Función para determinar si el elemento pertenece a un conjunto. |
---|
6 | |
---|
7 | :param element: elemento a comprobar |
---|
8 | :param group: grupo de elementos para comprobar tipo "valor1 valor2 valor3" |
---|
9 | :return: True si pertenece al grupo, False si NO pertenece al grupo |
---|
10 | """ |
---|
11 | if not isinstance(element, str) or not isinstance(group, str): |
---|
12 | raise ValueError("Formato incorrecto, ambos parámetros deben ser cadenas.") |
---|
13 | |
---|
14 | return element in group.split() |
---|
15 | |
---|
16 | def ogCheckStringInReg(element, regex): |
---|
17 | """ |
---|
18 | Función para determinar si el elemento contiene una "expresión regular". |
---|
19 | |
---|
20 | :param element: elemento a comprobar |
---|
21 | :param regex: expresión regular |
---|
22 | :return: True si coincide con la expresión, False si NO coincide con la expresión |
---|
23 | """ |
---|
24 | if not isinstance(element, str) or not isinstance(regex, str): |
---|
25 | raise ValueError("Formato incorrecto, ambos parámetros deben ser cadenas.") |
---|
26 | |
---|
27 | return re.match(regex, element) is not None |
---|
28 | |
---|
29 | def ogCheckIpAddress(ip): |
---|
30 | """ |
---|
31 | Función para determinar si una cadena es una dirección ipv4 válida. |
---|
32 | |
---|
33 | :param ip: string de la ip a comprobar |
---|
34 | :return: True si es una dirección válida, False si NO es una dirección válida |
---|
35 | """ |
---|
36 | if not isinstance(ip, str): |
---|
37 | raise ValueError("Formato incorrecto, el parámetro debe ser una cadena.") |
---|
38 | |
---|
39 | regex = r"^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$" |
---|
40 | if re.match(regex, ip): |
---|
41 | parts = ip.split('.') |
---|
42 | if all(0 <= int(part) <= 255 for part in parts): |
---|
43 | return True |
---|
44 | return False |
---|
45 | |
---|