Regexado

Convierte las consultas y restricciones del lenguaje natural en construcciones de regex

Puedes consultar un modelo directamente y probar los resultados que se muestran cuando usas valores de parámetros diferentes con la consola de Cloud o con una llamada directa a la API de Vertex AI.

Mensaje Freeform

Proporciona el equivalente de regex de lo siguiente:

Mis requisitos son los siguientes:

  1. Quiero que mi cadena tenga entre 2 y 63 caracteres.
  2. La cadena debe ser alfanumérica y puede contener -.
  3. La cadena debe comenzar y terminar solo con caracteres alfanuméricos.

Respuesta

^[a-zA-Z0-9]{1}[a-zA-Z0-9-]{0,61}[a-zA-Z0-9]{1}$

Explicación:

  • ^: coincide con el principio de la cadena.
  • [a-zA-Z0-9]{1}: coincide con un carácter alfanumérico (a-z, A-Z, 0-9) al principio de la cadena.
  • [a-zA-Z0-9\-]{0,61}: coincide con cero a 61 caracteres alfanuméricos o guiones (-) en el medio de la cadena. Esto garantiza que la cadena tenga una longitud total de 2 a 63 caracteres.
  • [a-zA-Z0-9]{1}: coincide con un carácter alfanumérico al final de la cadena.
  • $: coincide con el final de la cadena.

Ejemplos:

  • Cadenas válidas:
  • abc
  • 123-abc
  • abc-123
  • a-b-c-123
  • Cadenas no válidas:
  • -abc (comienza con un guion)
  • abc- (termina con un guion)
  • abc123- (termina con un guion)
  • 1234567890123456789012345678901234567890 (contiene más de 63 caracteres)

Código de Python:

import re

regex = r"^[a-zA-Z0-9]{1}[a-zA-Z0-9\-]{0,61}[a-zA-Z0-9]{1}$"

test_strings = [
"abc",
"123-abc",
"abc-123",
"a-b-c-123",
"-abc",
"abc-",
"abc123-",
"1234567890123456789012345678901234567890",
]

for string in test_strings:
match = re.match(regex, string)
if match:
print(f"'{string}' is a valid string.")
else:
print(f"'{string}' is an invalid string.")

Este código imprimirá si cada cadena de prueba es válida o no según el patrón de regex.

Modelo: gemini-1.5-flash-001
Temperatura: 1
Cantidad máxima de tokens de salida: 8192
TopK: 40
TopP: 0.95