ogclone-engine/client/lib/engine/bin/StringLib.py

46 lines
1.6 KiB
Python

import re
def ogCheckStringInGroup(element, group):
"""
Función para determinar si el elemento pertenece a un conjunto.
:param element: elemento a comprobar
:param group: grupo de elementos para comprobar tipo "valor1 valor2 valor3"
:return: True si pertenece al grupo, False si NO pertenece al grupo
"""
if not isinstance(element, str) or not isinstance(group, str):
raise ValueError("Formato incorrecto, ambos parámetros deben ser cadenas.")
return element in group.split()
def ogCheckStringInReg(element, regex):
"""
Función para determinar si el elemento contiene una "expresión regular".
:param element: elemento a comprobar
:param regex: expresión regular
:return: True si coincide con la expresión, False si NO coincide con la expresión
"""
if not isinstance(element, str) or not isinstance(regex, str):
raise ValueError("Formato incorrecto, ambos parámetros deben ser cadenas.")
return re.match(regex, element) is not None
def ogCheckIpAddress(ip):
"""
Función para determinar si una cadena es una dirección ipv4 válida.
:param ip: string de la ip a comprobar
:return: True si es una dirección válida, False si NO es una dirección válida
"""
if not isinstance(ip, str):
raise ValueError("Formato incorrecto, el parámetro debe ser una cadena.")
regex = r"^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$"
if re.match(regex, ip):
parts = ip.split('.')
if all(0 <= int(part) <= 255 for part in parts):
return True
return False