无锡做网站,商城网站的运营,营销策略ppt,深圳做外贸网站公司题目
表: Users 编写一个解决方案#xff0c;以查找具有有效电子邮件的用户。
一个有效的电子邮件具有前缀名称和域#xff0c;其中#xff1a; 前缀 名称是一个字符串#xff0c;可以包含字母#xff08;大写或小写#xff09;#xff0c;数字#xff0c;下划线 _ 以查找具有有效电子邮件的用户。
一个有效的电子邮件具有前缀名称和域其中 前缀 名称是一个字符串可以包含字母大写或小写数字下划线 _ 点 . 和/或破折号 - 。前缀名称 必须 以字母开头。域 为 leetcode.com 。
以任何顺序返回结果表。
结果的格式如以下示例所示 示例 1 解题思路
前置知识 Regexpp 模糊匹配包含特定字符串 查找content字段中包含“车友俱乐部”的记录 select * from club_content where content regexp ‘车友俱乐部’ 此时的regexp与like的以下用法是等同的 select * from club_content where content like ‘%车友俱乐部%’ 模糊匹配以特定字符串开头 查找content字段中以“车友”开头的记录 select * from club_content where content regexp ‘^车友’ 此时的regexp与like的以下用法是等同的 select * from club_content where content like ‘车友%’ 模糊匹配以特定字符串结尾 查找content字段中以“车友”结尾的记录 select * from club_content where content regexp ‘车友$’ 此时的regexp与like的以下用法是等同的 select * from club_content where content like ‘%车友’ 模糊匹配或关系 查找content字段中包含“心得”、“分享”或“技术贴” select * from club_content where content REGEXP ‘心得|分享|技术贴’ 模糊匹配不包含单个字符 查找content字段中不包含“车”字、“友”字的记录 select * from club_content where content REGEXP [^车友] 这个结果跑出来一看大吃一惊竟然把所有记录给跑出来这是为什么呢 因为一旦加了这个方括号[]它就把里面的内容拆成单个的字符再匹配它会逐个字符去匹配判断是不是等于“车”或者是不是等于“友“返回的结果是一组0、1的逻辑值。 如果想匹配不包含特定字符串该怎么实现呢 模糊匹配不包含特定字符串 查找content字段不包含“车友”字符串的记录 select * from club_content where content not REGEXP ‘车友’ 1.题目要求我们 查找具有有效电子邮件的用户也就是前缀 名称是一个字符串可以包含字母大写或小写数字下划线 _ 点 . 和/或破折号 - 。前缀名称 必须 以字母开头。域 为 leetcode.com 。对于这种题我们可以采用正则表达式进行匹配。 2. ^ 匹配以该字符后面的字符开头的字符串我们应该以字母开头^[a-zA-Z]可以包含字母大写或小写数字下划线 _ 点 . 和/或破折号 -[a-zA-Z0-9_.-]**是一个量词表示匹配前面的元素零次或多次。 3.必须以域结尾域 为 leetcode.comleetcode[.]com$然后我们将三个条件组合在一起就得到了regexp ^[a-zA-Z][a-zA-Z0-9_.-]*leetcode[.]com$这里要注意特殊符号的转义如果我们将特殊符号放在[]中就不用再进行转义了,否则要在前面加上‘//’。 代码实现
select *
from Users
where mail regexp ^[a-zA-Z][a-zA-Z0-9_.-]*leetcode[.]com$
测试结果