关于如何使用 AI 生成正则表达式
Secret scanning 扫描存储库以查找合作伙伴计划的一组预定义机密,以及用户定义的自定义模式。 自定义模式的格式为正则表达式。
Note
无需订阅 GitHub Copilot 即可使用 Copilot 机密扫描 的 正则表达式生成器。 Copilot 机密扫描 功能可供拥有 GitHub Advanced Security 许可证的 GitHub Enterprise Cloud 企业中的专用存储库使用。
正则表达式对于编写人员来说很有挑战性。 正则表达式生成器 使你能够在不了解正则表达式的情况下定义自定义模式。 在现有的自定义模式页中,可以启动生成式 AI 体验,输入一个文本描述,说明您想要检测的模式,包括可选的应该被检测到的示例字符串,并获得匹配的正则表达式作为返回结果。
输入处理
用户输入要检测的内容的文本说明,以及应检测到的可选示例字符串。
响应生成和输出格式
正则表达式生成器 使用 GPT-3.5-Turbo 和 GitHub Copilot API 生成与输入匹配的正则表达式。
模型最多返回三个正则表达式供查看。 可以单击正则表达式以获取 AI 生成的正则表达式简单语言说明。
某些结果可能非常相似,某些结果可能找不到模式要检测的每个机密实例。 正则表达式生成器也可能生成无效或不适当的结果。
在正则表达式上单击“使用结果”**** 时,输入的表达式和任何示例都将复制到主自定义模式表单。 在那里,可以执行模式的试运行,了解其在存储库或组织中的表现。有关如何为存储库或组织定义自定义模式的详细信息,请参阅“为机密扫描定义自定义模式”。
提升使用 AI 生成正则表达式时的性能
为了提高性能并解决 正则表达式生成器 的一些限制,可以采用各种措施。 有关 正则表达式生成器 限制的详细信息,请参阅“使用 AI 生成正则表达式的限制”。
将 正则表达式生成器 作为工具而不是替代品使用
虽然 正则表达式生成器 是无需自行编写正则表达式即可创建自定义模式的强大工具,但请务必将其作为工具使用,而不是代替手动输入。 应通过在整个组织或存储库中执行试运行来仔细验证结果的性能。 最好在代表组织中存储库的一个(或多个)存储库上运行该模式。 在某些情况下,修改生成的正则表达式可能会有所帮助,可以更充分地满足你的需求。 你仍对决定使用的任何自定义模式承担最终责任。
使用 AI 生成正则表达式的限制
根据输入说明和示例等因素,在使用 正则表达式生成器 时,可能会体验不同级别的性能。 描述需要尽可能具体,并提供与模式匹配的不同类型的令牌示例,以确保正则表达式包含你希望 secret scanning 搜索的所有模式。
此外,正则表达式生成器 使用的模型已针对主要以英语编写的自然语言内容进行了训练。 因此,在为生成器提供英语以外的自然语言输入提示时,你可能会发现性能有所不同。
请注意,正则表达式生成器 仅适用于创建正则表达式来检测结构化模式。