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

请求生成匹配首名+随机数Gmail格式的SQL正则查询以统计虚假账号

统计符合特定邮箱模式的虚假账号数量

针对你描述的虚假账号邮箱模式(firstname+随机数字+@gmail.com),可以通过正则匹配结合表中firstname字段来统计这类账号。以下是主流数据库的实现方案:

MySQL/MariaDB

使用REGEXP进行正则匹配,通过拼接firstname生成匹配规则:

SELECT COUNT(*) AS fake_account_count
FROM your_table_name
WHERE email REGEXP CONCAT('^', LOWER(firstname), '[0-9]+@gmail\\.com$')
  • LOWER(firstname)统一转为小写,避免大小写不匹配的问题
  • ^和$确保邮箱完全符合开头结尾规则
  • [0-9]+匹配一个或多个连续数字
  • \\.是转义后的点(正则中点表示任意字符,必须转义)

PostgreSQL

使用~*运算符实现不区分大小写的正则匹配:

SELECT COUNT(*) AS fake_account_count
FROM your_table_name
WHERE email ~* ('^' || LOWER(firstname) || '[0-9]+@gmail\.com$')
  • ||是PostgreSQL的字符串拼接符
  • ~*自动忽略大小写,无需额外处理大小写问题

SQL Server(2016及以上版本)

使用REGEXP_LIKE函数,指定'i'参数启用不区分大小写匹配:

SELECT COUNT(*) AS fake_account_count
FROM your_table_name
WHERE REGEXP_LIKE(email, '^' + LOWER(firstname) + '[0-9]+@gmail\.com$', 'i')

注意事项

  • 替换your_table_name为你实际使用的表名
  • 如果firstname包含正则特殊字符(如.、+、*等),需要先转义这些字符。以MySQL为例,可以用REGEXP_REPLACE处理:
    SELECT COUNT(*) AS fake_account_count
    FROM your_table_name
    WHERE email REGEXP CONCAT('^', REGEXP_REPLACE(LOWER(firstname), '([.+*?^$(){}|\\[\\]])', '\\\\$1'), '[0-9]+@gmail\\.com$')
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 20:54:15