regex 使用mysql正则表达式验证我的google bigquery数据库中的电子邮件地址

piztneat  于 2023-02-10  发布在  Mysql
关注(0)|答案(2)|浏览(167)

我正在尝试验证我的谷歌bigquery表中的电子邮件地址。我正在使用以下查询来做这件事,但bigquery抛出了一个错误。我不确定我的代码中有什么错误。我在下面的故事中找到了用于验证的正则表达式:-What characters are allowed in an email address?

select email
FROM my table
WHERE REGEXP_CONTAINS(email, regex)

这里regex是
Perl's RFC2822 regex

qaxu7uf2

qaxu7uf21#

尝试以下查询

SELECT email
FROM table
where email REGEXP '[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,6}'

请注意,最后一部分{2,6}将顶级域名限制为6个字符长,正如@smoore4所指出的。

SELECT email
FROM table
where email REGEXP '[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}'

这将仅要求从顶部域开始的最小长度为2

xzv2uavs

xzv2uavs2#

我觉得这更干净...

SELECT email 
FROM table 
where REGEXP_CONTAINS(email, r"@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+")

相关问题