自定义模式的正则表达式库
机密扫描的自定义模式使用 Hyperscan 库 定义,仅支持 Hyperscan 正则表达式构造,它们是 PCRE 语法的一个子集。不支持 Hyperscan 选项修饰符。如需了解有关 Hyperscan 模式构造的更多信息,请参阅 Hyperscan 文档中的 模式支持。
手动定义自定义模式的语法
The 更多选项 部分在 UI 中帮助您手动编写正则表达式。
- 密钥格式: 描述密钥本身格式的表达式。
- 密钥前: 描述位于密钥之前的字符的表达式。默认情况下,该表达式设置为
\A|[^0-9A-Za-z],这意味着密钥必须位于行首或前面有非字母数字字符。 - 密钥后: 描述位于密钥之后的字符的表达式。默认情况下,该表达式设置为
\z|[^0-9A-Za-z],这意味着密钥必须后跟换行符或非字母数字字符。 - 附加匹配要求: 一个或多个可选表达式,密钥本身必须匹配或必须不匹配。
对于简单令牌,通常只需指定密钥格式。其他字段提供灵活性,使您能够在不编写复杂正则表达式的情况下指定更复杂的密钥。
自定义模式示例
某公司拥有一个具有五个特征的内部令牌。他们使用不同的字段来指定如何识别令牌,如下所示
| 特征 | 字段和正则表达式 |
|---|---|
| 长度在 5 到 10 个字符之间 | 密钥格式:[$#%@AA-Za-z0-9]{5,10} |
不能以 . 结尾 | 密钥后:[^\.] |
| 包含数字和大写字母 | 附加要求:密钥必须匹配 [A-Z] 和 [0-9] |
| 不包含连续多个小写字母 | 附加要求:密钥不得匹配 [a-z]{2,} |
包含以下任意一个字符 $%@! | 附加要求:密钥必须匹配 [$%@!] |
这些令牌将匹配上述自定义模式
a9@AAfT! # Secret string match: a9@AAfT
ee95GG@ZA942@aa # Secret string match: @ZA942@a
a9@AA!ee9 # Secret string match: a9@AA
这些字符串将不匹配上述自定义模式
a9@AA.!
a@AAAAA
aa9@AA!ee9
aAAAe9
限制
机密扫描每个组织或企业账户最多支持 500 条自定义模式,每个仓库最多支持 100 条自定义模式。