Office 365 DLP适用肯尼亚身份证号正则表达式编写及排障问询
肯尼亚身份证号正则适配问题排查及修正方案
原有正则错误排查
- 匹配长度错误:你写的正则
^(\d{3,4})\d{8}总匹配长度为11或12位,而肯尼亚身份证号总长度仅为8位,完全不符合长度要求 - 号段匹配逻辑缺失:没有限制前两位必须为指定号段值,会匹配到大量不符合号段规则的无效数字串
- 分组逻辑错误:
\d{3,4}的分组规则和「取前两位作为号段」的业务规则不匹配,没有实际作用
修正后的正则方案
仅匹配34号段版本(适配当前需求)
^34\d{6}$
规则说明:
^匹配字符串开始位置34固定匹配前两位的34号段\d{6}匹配后6位任意数字,总长度刚好为8位$匹配字符串结束位置,避免匹配到更长数字串中的片段
兼容全现有号段版本(覆盖20、32、34号段)
如果后续需要覆盖所有已公开的号段,可使用以下正则:^(20|32|34)\d{6}$
后续号段迭代时直接在括号内新增号段值即可,比如新增35号段就修改为^(20|32|34|35)\d{6}$
Office 365 DLP适配注意事项
- 若需要完全匹配独立的身份证号,保留正则首尾的
^和$即可 - 若需要匹配散落在文本中的身份证号(前后可能有空格、标点),可将首尾的
^和$替换为词边界符\b,即\b34\d{6}\b,避免误匹配长数字串中的片段
内容的提问来源于stack exchange,提问作者Bernietechy
相关产品推荐
相关产品推荐

