采用正则表达式

将自然语言查询和限制条件转换为正则表达式结构

在对 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
TopK: 40
TopP: 0.95