我运行以下查询:
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的入侵电子邮件地址,例如:"a執b@live.com“。vaild电子邮件没有汉字。如何忽略/过滤邮件结果中的无效字符?我将查询更改为:
REGEXP '^[a-zA-Z0-9._-]+(@outlook.com|@live.com)但问题是,我收到了@outlook.com的电子邮件,他们的用户i超过10000。所以我删除了“用户i> 10000”,现在问题是我收到了@live.com的电子邮件,他们的用户i在10000以下,我想怎么办??谢谢
发布于 2016-05-07 20:52:47
您只在REGEX的末尾添加一个$。在示例中,您可以看到REGEX的结果。
样本
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 []>https://stackoverflow.com/questions/37093353
复制相似问题