Validating Email Addresses With a Filter

Sort by

recency

|

609 Discussions

|

  • + 0 comments
    import re
    def fun(s):
        emailpattern=r"[a-zA-Z0-9-_]+@[a-zA-Z0-9]+\.[a-zA-Z]{,3}"
        isemail=re.fullmatch(emailpattern,s) 
        if isemail:
            return True
        else:
            return False
    def filter_mail(emails):
        return list(filter(fun, emails))
    
    if __name__ == '__main__':
        n = int(input())
        emails = []
        for _ in range(n):
            emails.append(input())
    
    filtered_emails = filter_mail(emails)
    filtered_emails.sort()
    print(filtered_emails)
    
  • + 1 comment

    I cannot seem to pass testcase 5, any help?

    def fun(s): if '@' not in s: return False

    try:
        username_website, extension = s.rsplit('.',1)
        username,website = username_website.split('@')
    except ValueError:
        return False
    
    for char in username:
        if not(char.isalnum() or char in ['-','_']):
            return False
    
    if not(website.isalnum()):
        return False
    
    if not (extension.isalpha()) or not(1<=len(extension)<=3):
        return False
    
    return True
    # return True if s is a valid email, else return False
    

    def filter_mail(emails): return list(filter(fun, emails))

    if name == 'main': n = int(input()) emails = [] for _ in range(n): emails.append(input())

    filtered_emails = filter_mail(emails) filtered_emails.sort() print(filtered_emails)

  • + 0 comments

    import re def fun(s): pattern=r'^([a-zA-Z0-9_-]+)@([a-zA-Z0-9]+).([a-zA-Z]){1,3}$' return re.fullmatch(pattern,s)

    def filter_mail(emails): return list(filter(fun, emails))

    if name == 'main': n = int(input()) emails = [] for _ in range(n): emails.append(input())

    filtered_emails = filter_mail(emails) filtered_emails.sort() print(filtered_emails)

  • + 0 comments
    
    
    def fun(s):
        if '@' not in s or s[0] == '@':
            return False
        else:
            name, rest = s.split('@', 1)
        if not all(c.isdigit() or c.isalpha() or c in ['-', '_'] for c in name):
            return False
        if '.' not in rest:
            return False
        web, ext = rest.split('.', 1)
        if not all(c.isdigit() or c.isalpha() for c in web):
            return False
        if not all(c.isalpha() for c in ext) or len(ext) > 3:
            return False
        
        return True
    
    
    
  • + 0 comments

    Here is HackerRank Validating Email Addresses With a Filter in Python solution - https://programmingoneonone.com/hackerrank-validating-email-addresses-with-a-filter-solution-in-python.html