Regexed

Abfragen in natürlicher Sprache und Einschränkungen in Regex-Konstrukte umwandeln

Sie können ein Modell direkt abfragen und die zurückgegebenen Ergebnisse testen, wenn Sie verschiedene Parameterwerte mit der Cloud Console oder durch direkten Aufruf der Vertex AI API verwenden.

Freiform-Prompt

Gib das Regex-Äquivalent zu Folgendem an:

Meine Anforderungen sind:

  1. Ich möchte, dass mein String 2–63 Zeichen hat.
  2. Der String muss alphanumerisch sein und auch "-" enthalten.
  3. Der String muss sowohl mit alphanumerischen Zeichen beginnen als auch enden.

Antwort

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

Erklärung:

  • ^: Gleicht den Anfang des Strings ab.
  • [a-zA-Z0-9]{1}: Stimmt mit einem alphanumerischen Zeichen (az, AZ, 0–9) am Anfang des Strings überein.
  • [a-zA-Z0-9\-]{0,61}: Stimmt mit null bis 61 alphanumerische Zeichen oder Bindestriche (-) in der Mitte des Strings überein. Dadurch wird sichergestellt, dass der String eine Gesamtlänge von 2 bis 63 Zeichen hat.
  • [a-zA-Z0-9]{1}: Stimmt mit einem alphanumerischen Zeichen am Ende des Strings überein.
  • $: Stimmt mit dem Ende des Strings überein.

Beispiele:

  • Gültige Strings:
  • abc
  • 123-abc
  • abc-123
  • a-b-c-123
  • Ungültige Strings:
  • -abc (beginnt mit einem Bindestrich)
  • abc- (endet mit einem Bindestrich)
  • abc123- (endet mit einem Bindestrich)
  • 1234567890123456789012345678901234567890 (Mehr als 63 Zeichen)

Python-Code:

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

Dieser Code gibt an, ob jeder Teststring gemäß dem Regex-Muster gültig oder ungültig ist.

Modell: gemini-1.5-flash-001
Temperatur: 1
Max. Ausgabetokens: 8.192
TopK: 40
TopP: 0,95