Re.findall() & Re.finditer() in Python HackerRank Solution

Hello Programmers, In this post, you will know how to solve the Re.findall() & Re.finditer() in Python HackerRank Solution. This problem is a part of the HackerRank Python Programming Series.

Ezoicreport this adRe.findall() & Re.finditer() in Python HackerRank Solution
Re.findall() & Re.finditer() in Python HackerRank Solution

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.

Re.findall() & Re.finditer() in Python Hacker Rank Solution

Ezoicreport this adProblem

re.findall()
The expression re.findall() returns all the non-overlapping matches of patterns in a string as a list of strings.
Code :

>>> import re
>>> re.findall(r'\w','http://www.hackerrank.com/')
['h', 't', 't', 'p', 'w', 'w', 'w', 'h', 'a', 'c', 'k', 'e', 'r', 'r', 'a', 'n', 'k', 'c', 'o', 'm']

re.finditer()
The expression re.finditer() returns an iterator yielding MatchObject instances over all non-overlapping matches for the re pattern in the string.
Code :

>>> import re
>>> re.finditer(r'\w','http://www.hackerrank.com/')
<callable-iterator object at 0x0266C790>
>>> map(lambda x: x.group(),re.finditer(r'\w','http://www.hackerrank.com/'))
['h', 't', 't', 'p', 'w', 'w', 'w', 'h', 'a', 'c', 'k', 'e', 'r', 'r', 'a', 'n', 'k', 'c', 'o', 'm']

Task :

You are given a string S. It consists of alphanumeric characters, spaces and symbols(+,-).
Your task is to find all the substrings of S that contains 2 or more vowels.
Also, these substrings must lie in between 2 consonants and should contain vowels only.
Note :
Vowels are defined as: AEIOU and aeiou.
Consonants are defined as: QWRTYPSDFGHJKLZXCVBNM and qwrtypsdfghjklzxcvbnm.

Input Format :

A single line of input containing string S.

Constraints :

  • 0 < len(s)<100

Output Format :

Print the matched substrings in their order of occurrence on separate lines.
If no match is found, print -1.

Sample Input :

>>> import re
>>> re.finditer(r'\w','http://www.hackerrank.com/')
<callable-iterator object at 0x0266C790>
>>> map(lambda x: x.group(),re.finditer(r'\w','http://www.hackerrank.com/'))
['h', 't', 't', 'p', 'w', 'w', 'w', 'h', 'a', 'c', 'k', 'e', 'r', 'r', 'a', 'n', 'k', 'c', 'o', 'm']

Sample Output :

ee
Ioo
Oeo
eeeee

Explanation :

ee is located between consonant d and f.
Ioo is located between consonant k and m.
Oeo is located between consonant p and r.
eeeee is located between consonant t and t.

Re.findall() & Re.finditer() in Python HackerRank Solutions

import re
Storage = re.findall(r'(?<=[qwrtypsdfghjklzxcvbnm])([aeiou]{2,})(?=[qwrtypsdfghjklzxcvbnm])', input().strip(), re.IGNORECASE)
if Storage:
    for i in Storage:
        print(i)
else:
    print(-1)

Disclaimer: The above Problem (Re.findall() & Re.finditer() in Python) is generated by Hackerrank but the Solution is Provided by BrokenProgrammers. This tutorial is only for Educational and Learning purposes.

Next: Re.start() & Re.end() in Python HackerRank Solution

Sharing Is Caring

Leave a Comment

Ezoicreport this ad