Regex

Convertire query e vincoli in linguaggio naturale in costrutti regex

Puoi eseguire query direttamente su un modello e testare i risultati restituiti quando utilizzi valori parametro diversi con la console Cloud o chiamando direttamente l'API Vertex AI.

Richiesta in formato libero

Dammi l'equivalente regex di quanto segue:

I miei requisiti sono:

  1. Voglio che la stringa abbia da 2 a 63 caratteri.
  2. La stringa deve essere alfanumerica e può contenere -.
  3. La stringa deve iniziare e terminare solo con caratteri alfanumerici.

Risposta

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

Spiegazione:

  • ^: corrisponde all'inizio della stringa.
  • [a-zA-Z0-9]{1}: corrisponde a un carattere alfanumerico (a-z, A-Z, 0-9) all'inizio della stringa.
  • [a-zA-Z0-9\-]{0,61}: corrisponde a zero-61 caratteri alfanumerici o trattini (-) al centro della stringa. In questo modo ti assicuri che la stringa abbia una lunghezza totale compresa tra 2 e 63 caratteri.
  • [a-zA-Z0-9]{1}: corrisponde a un carattere alfanumerico alla fine della stringa.
  • $: corrisponde alla fine della stringa.

Esempi:

  • Stringhe valide:
  • abc
  • 123-abc
  • abc-123
  • a-b-c-123
  • Stringhe non valide:
  • -abc (inizia con un trattino)
  • abc- (termina con un trattino)
  • abc123- (termina con un trattino)
  • 1234567890123456789012345678901234567890 (più di 63 caratteri)

Codice 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.")

Questo codice indica se ogni stringa di test è valida o non valida in base al pattern dell'espressione regolare.

Modello: gemini-1.5-flash-001
Temperatura: 1
Numero massimo di token di output: 8192
TopK: 40
TopP: 0,95