정규식화

자연어 쿼리 및 제약조건을 정규식으로 변환

모델을 직접 쿼리하고 Cloud 콘솔에서 다른 매개변수 값을 사용하거나 Vertex AI API를 직접 호출하여 반환된 결과를 테스트할 수 있습니다.

Freeform 프롬프트

다음 정규식을 알려줘.

요구사항은 다음과 같아.

  1. 문자열을 2~63자로 지정하고 싶어.
  2. 문자열은 영숫자여야 하고 하이픈(-)도 포함할 수 있어.
  3. 문자열은 영숫자 문자로만 시작하고 끝나야 해.

응답

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

설명:

  • ^: 문자열의 시작입니다.
  • [a-zA-Z0-9]{1}: 문자열 시작 부분에 있는 하나의 영숫자 문자(a~z, A~Z, 0~9)입니다.
  • [a-zA-Z0-9\-]{0,61}: 문자열 중간에 있는 0~61자의 영숫자 문자 또는 하이픈(-)입니다. 이렇게 하면 문자열의 총길이는 2~63자가 됩니다.
  • [a-zA-Z0-9]{1}: 문자열 끝에 있는 하나의 영숫자 문자입니다.
  • $: 문자열의 끝입니다.

예:

  • 유효한 문자열:
  • abc
  • 123-abc
  • abc-123
  • a-b-c-123
  • 잘못된 문자열:
  • -abc(하이픈으로 시작)
  • abc-(하이픈으로 끝남)
  • abc123-(하이픈으로 끝남)
  • 1234567890123456789012345678901234567890(63자 초과)

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

이 코드는 정규식 패턴을 기반으로 각 테스트 문자열의 유효 여부를 출력합니다.

모델: gemini-1.5-flash-001
강도: 1
최대 출력 토큰: 8192
최상위 K: 40
최상위 P: 0.95