custom_classifier!ADD_REGEX¶
为自定义分类器添加类和正则表达式,同时可为列名指定正则表达式和注释。
语法¶
<custom_classifier>!ADD_REGEX(
SEMANTIC_CATEGORY => '<custom_category>' ,
PRIVACY_CATEGORY => { 'IDENTIFIER' | 'QUASI-IDENTIFIER' | 'SENSITIVE' } ,
VALUE_REGEX => '<regular_expression>' ,
[ COL_NAME_REGEX => <regular_expression> ] ,
[ DESCRIPTION => <string> ] ,
[ THRESHOLD => <number> ]
)
实参¶
必填:
SEMANTIC_CATEGORY => custom_categorySpecifies the name of the custom category (that is, type of information).
PRIVACY_CATEGORY => { 'IDENTIFIER' | 'QUASI-IDENTIFIER' | 'SENSITIVE' }Specifies the sensitivity of the data, and can be one of the following values:
'IDENTIFIER','QUASI_IDENTIFIER', or'SENSITIVE'.VALUE_REGEX => regular_expression指定正则表达式以匹配列中的值。
您可以通过调用 REGEXP_LIKE 函数来测试正则表达式的语法。
可选:
COL_NAME_REGEX => regular_expression指定与要分类的列名匹配的正则表达式。
DESCRIPTION => stringSpecifies a comment describing the custom category or the custom classifier that implements it.
THRESHOLD => numberSpecifies the threshold value for the scoring rule. For more information, see Threshold for custom categories.
可接受的范围是大于
0.0且小于或等于1.0。默认:
0.8。
输出¶
返回状态消息,指示类别与自定义分类器的关联,格式为:classifier_name:category_name。
访问控制要求¶
实例角色 |
对象 |
备注 |
|---|---|---|
|
自定义分类实例。 |
调用此方法的账户角色必须在自定义分类器上被授予此实例角色。 默认情况下,用于创建实例的账户角色可以调用此方法。 |
Operating on an object in a schema requires at least one privilege on the parent database and at least one privilege on the parent schema.
有关创建具有指定权限集的自定义角色的说明,请参阅 创建自定义角色。
使用说明¶
多次调用此方法会得到与该实例相关的正则表达式数量的累加结果。
在单独的 SQL 语句中调用每个方法(无需方法链接)。
所有用于分类目的的正则表达式搜索都不区分大小写。
在向自定义分类实例添加正则表达式之前,测试正则表达式。例如,使用 [ NOT ] REGEXP 函数确保结果中仅返回与正则表达式匹配的值:
SELECT <col_to_classify> FROM <table_with_col_to_classify> WHERE <col_to_classify> REGEXP('<regex>');
有关详细信息,请参阅 字符串函数(正则表达式)。
示例¶
将类别和正则表达式添加到 medical_codes 实例中:
CALL medical_codes!ADD_REGEX(
SEMANTIC_CATEGORY => 'ICD_10_CODES',
PRIVACY_CATEGORY => 'IDENTIFIER',
VALUE_REGEX => '[A-TV-Z][0-9][0-9AB]\.?[0-9A-TV-Z]{0,4}',
COL_NAME_REGEX => 'ICD.*',
DESCRIPTION => 'Add a regex to identify ICD-10 medical codes in a column',
THRESHOLD => 0.8
);
返回:
+---------------+
| ADD_REGEX |
+---------------+
| ICD_10_CODES |
+---------------+
Create a custom classifier that uses the default threshold and doesn't use a regular expression to match column names:
CALL medical_codes!ADD_REGEX(
SEMANTIC_CATEGORY => 'ICD_10_CODES',
PRIVACY_CATEGORY => 'IDENTIFIER',
VALUE_REGEX => '[A-TV-Z][0-9][0-9AB]\.?[0-9A-TV-Z]{0,4}'
);