You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用正则表达式从Gmail API获取的HTML邮件中提取6位验证码

正则提取邮箱验证码解决方案

问题原因

你之前使用的.*([0-9]{6})存在两个问题:

  • .*为贪婪匹配规则,会优先匹配尽可能多的字符,仅将末尾最后6位数字归入捕获分组,无法准确定位目标验证码
  • 没有限定6位数字的边界,会误匹配长数字串中的连续6位片段(比如示例里的邮编、电话号码片段都会被误识别)

推荐解决方案

方案1:依赖固定邮件模板的高准确率正则

你提供的HTML中,验证码固定在font-size:36px样式的div标签内,用这个特征写正则可以100%准确定位:

font-size:36px;line-height:92px">(\d{6})</div>

匹配后取第1个捕获分组的内容,就是目标验证码。

方案2:不依赖HTML结构的通用正则

如果邮件模板可能调整,可以用数字边界限定,仅匹配独立的6位数字:

(?<!\d)\d{6}(?!\d)

这个正则通过零宽断言保证匹配到的6位数字前后都没有其他数字,不会误识别长数字串的片段,你提供的示例中用这个正则匹配会得到2个完全相同的191418,直接去重即可拿到最终结果。

内容的提问来源于stack exchange,提问作者Zakaria Shahed

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 00:48:00