Re.findall() & Re.finditer() in Python - HackerRank Solution
Problem :
re.findall()
The expression re.findall() returns all the non-overlapping matches of patterns in a string as a list of strings.
Code :
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']
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.
Solution :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | # Re.findall() & Re.finditer() in Python - Hacker Rank Solution # Python 3 # Enter your code here. Read input from STDIN. Print output to STDOUT # Re.findall() & Re.finditer() in Python - Hacker Rank Solution START 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) # Re.findall() & Re.finditer() in Python - Hacker Rank Solution END |
Disclaimer :-
the above hole problem statement is given by hackerrank.com but the solution is generated by the codeworld19 authority if any of the query regarding this post or website fill the following contact form thank you.