首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >REGEX sql查询

REGEX sql查询
EN

Stack Overflow用户
提问于 2016-05-07 20:26:16
回答 1查看 21关注 0票数 0

我运行以下查询:

代码语言:javascript
复制
SELECT DISTINCT email FROM `users` WHERE `email` REGEXP '^[a-zA-Z0-9._-]+(@outlook.com)$' and email NOT LIKE '%sex%' and email NOT LIKE '.%' and email NOT LIKE '-%' or email LIKE '%@live.com' AND userid > 10000 AND email NOT LIKE '%sex%' AND email NOT LIKE '%+%' and email NOT LIKE '.%' and email NOT LIKE '-%' 

我的问题是,在行结果中,我得到了域@live.com的入侵电子邮件地址,例如:"ab@live.com“。vaild电子邮件没有汉字。如何忽略/过滤邮件结果中的无效字符?我将查询更改为:

代码语言:javascript
复制
REGEXP '^[a-zA-Z0-9._-]+(@outlook.com|@live.com)

但问题是,我收到了@outlook.com的电子邮件,他们的用户i超过10000。所以我删除了“用户i> 10000”,现在问题是我收到了@live.com的电子邮件,他们的用户i在10000以下,我想怎么办??谢谢

EN

回答 1

Stack Overflow用户

发布于 2016-05-07 20:52:47

您只在REGEX的末尾添加一个$。在示例中,您可以看到REGEX的结果。

样本

代码语言:javascript
复制
MariaDB []> SELECT *, b REGEXP '^[a-zA-Z0-9._-]+(@outlook.com|@live.com)$'  as result  FROM abc ;
+----+--------------------+--------+
| id | b                  | result |
+----+--------------------+--------+
| 38 | asd888@outlook.co  |      0 |
| 47 | asd888@outlook.com |      1 |
| 48 | hallo@outlook.com  |      1 |
| 49 | a執b@live.com      |      0 |
| 50 | aaaa@live.com      |      1 |
+----+--------------------+--------+
5 rows in set (0.00 sec)

MariaDB []>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37093353

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档