仅用REGEX剔除文本中非邮箱内容 无替换函数权限场景技术问询
正则解决方案
可用正则表达式
调用API时开启忽略大小写的正则匹配参数,传入以下正则即可匹配所有非邮箱内容,API删除匹配内容后就会仅剩符合要求的邮箱地址,存在多个邮箱时会自动用空格分隔:
(?!\b[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,6}\b).
规则说明
- 覆盖绝大多数日常使用的邮箱场景:支持邮箱前缀包含英文字母、数字、
.、_、%、+、-等合法字符,支持多级后缀域名(如xxx@xxx.edu.cn),适配2~6位长度的常用顶级域名 - 核心逻辑采用C#兼容的负向前瞻断言,跳过所有符合邮箱规则的字符,仅匹配其余所有非邮箱内容,完全适配当前API仅删除匹配内容的逻辑
注意事项
- 忽略大小写参数为必填项,未开启时大小写混合的邮箱可能会被误删
- 最终提取准确率和OCR输出的文本质量直接相关,OCR无识别错误的场景下可100%提取有效邮箱
内容的提问来源于stack exchange,提问作者Cogicero
相关产品推荐
相关产品推荐

