Validating and Parsing Email Addresses in Python HackerRank Solution

Hello Programmers, In this post, you will know how to solve the Validating and Parsing Email Addresses in Python HackerRank Solution. This problem is a part of the HackerRank Python Programming Series.

Validating and Parsing Email Addresses in Python HackerRank Solution
Validating and Parsing Email Addresses in Python HackerRank Solutions

One more thing to add, don’t directly look for the solutions, first try to solve the problems of Hackerrank by yourself. If you find any difficulty after trying several times, then you can look for solutions.

Validating and Parsing Email Addresses in Python HackerRank Solution

Problem

A valid email address meets the following criteria:

  • It’s composed of a username, domain name, and extension assembled in this format: [email protected]
  • The username starts with an English alphabetical character, and any subsequent characters consist of one or more of the following: alphanumeric characters, -,., and _.
  • The domain and extension contain only English alphabetical characters.
  • The extension is 1, 2, or 3 characters in length.

Given n pairs of names and email addresses as input, print each name and email address pair having a valid email address on a new line.
Hint : Try using Email.utils() to complete this challenge. For example, this code:

import email.utils
print email.utils.parseaddr('DOSHI <[email protected]>')
print email.utils.formataddr(('DOSHI', '[email protected]'))

produces this output:

('DOSHI', '[email protected]')
DOSHI <DOSHI@hackerrank.com>

Input Format :

The first line contains a single integer, n, denoting the number of email address.
Each line i of the n subsequent lines contains a name and an email address as two space-separated values following this format:

name <user@email.com>

Constraints :

  • 0 < N < 100

Output Format :

Print the space-separated name and email address pairs containing valid email addresses only. Each pair must be printed on a new line in the following format:

name <user@email.com>

You must print each valid email address in the same order as it was received as input.

Sample Input :

2
DEXTER <dexter@hotmail.com>
VIRUS <virus!@variable.:p>

Sample Output :

DEXTER <dexter@hotmail.com>

Explanation :

[email protected] is a valid email address, so we print the name and email address pair received as input on a new line.
[email protected]:p is not a valid email address because the username contains an exclamation point (!) and the extension contains a colon (:). As this email is not valid, we print nothing.

Validating and Parsing Email Addresses in Python HackerRank Solutions

import re
N = int(input())
for i in range(N):
    name, email = input().split()
    pattern="<[a-z][a-zA-Z0-9\-\.\_][email protected][a-zA-Z]+\.[a-zA-Z]{1,3}>"
    if bool(re.match(pattern, email)):
        print(name,email)

Disclaimer: The above Problem (Validating and Parsing Email Addresses in Python) is generated by Hackerrank but the Solution is Provided by BrokenProgrammers. This tutorial is only for  Educational and Learning purposes.

Next: Hex Color Code in Python HackerRank Solution

Leave a Reply

Your email address will not be published. Required fields are marked *