美文网首页
Leetcode1517.Find Users With Val

Leetcode1517.Find Users With Val

作者: kaka22 | 来源:发表于2020-07-26 16:18 被阅读0次

    题目
    Table: Users

    +---------------+---------+
    | Column Name   | Type    |
    +---------------+---------+
    | user_id       | int     |
    | name          | varchar |
    | mail          | varchar |
    +---------------+---------+
    

    user_id is the primary key for this table.
    This table contains information of the users signed up in a website. Some e-mails are invalid.

    Write an SQL query to find the users who have valid emails.

    A valid e-mail has a prefix name and a domain where:

    The prefix name is a string that may contain letters (upper or lower case), digits, underscore '_', period '.' and/or dash '-'.
    The prefix name must start with a letter.
    The domain is '@leetcode.com'.
    Return the result table in any order.

    The query result format is in the following example.

    Users

    +---------+-----------+-------------------------+
    | user_id | name      | mail                    |
    +---------+-----------+-------------------------+
    | 1       | Winston   | winston@leetcode.com    |
    | 2       | Jonathan  | jonathanisgreat         |
    | 3       | Annabelle | bella-@leetcode.com     |
    | 4       | Sally     | sally.come@leetcode.com |
    | 5       | Marwan    | quarz#2020@leetcode.com |
    | 6       | David     | david69@gmail.com       |
    | 7       | Shapiro   | .shapo@leetcode.com     |
    +---------+-----------+-------------------------+
    

    Result table:

    +---------+-----------+-------------------------+
    | user_id | name      | mail                    |
    +---------+-----------+-------------------------+
    | 1       | Winston   | winston@leetcode.com    |
    | 3       | Annabelle | bella-@leetcode.com     |
    | 4       | Sally     | sally.come@leetcode.com |
    +---------+-----------+-------------------------+
    

    The mail of user 2 doesn't have a domain.
    The mail of user 5 has # sign which is not allowed.
    The mail of user 6 doesn't have leetcode domain.
    The mail of user 7 starts with a period.

    解答
    这个就是在考察正则表达式吧
    要求
    前缀名称是一个字符串,可能包含字母(大写或小写),数字,下划线“ _”,句点. 和/或破折号-。
    前缀名称必须以字母开头。
    域是“ @ leetcode.com”。

    ^ 表示开头
    $ 表示以什么为结尾
    + 匹配一个或多个,不包括空
    [] 表示集合里的任意一个
    \ 用于转义特殊字符
    a{m,n} 匹配m到n个a,左侧不写为0,右侧不写为任意

    .与_需要转义

    select * from Users
    where mail regexp '^[a-zA-Z]+[a-zA-Z0-9_\\./\\-]{0,}@leetcode\\.com$'
    order by user_id
    

    相关文章

      网友评论

          本文标题:Leetcode1517.Find Users With Val

          本文链接:https://www.haomeiwen.com/subject/ppfvlktx.html