Problem
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
rabcdeefgyYhFjkIoomnpOeorteeeeet
Sample Output
eeIooOeoeeeee
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 – Re.findall() & Re.finditer() In Python | HackerRank
import rem = re.findall(r"(?<=[qwrtypsdfghjklzxcvbnm])([aeiou]{2,})[qwrtypsdfghjklzxcvbnm]", input(), flags=re.IGNORECASE)if len(m) > 0: print("\n".join(m))else: print(-1)
NOTE: The problem solved above, Re.findall() & Re.finditer(), was generated by HackerRank and the solution was brought by the admin of CodingSolutions for educational purpose. Got any issues with the code? Ask your questions in the comment box and I shall attend to it.
Comments
Post a Comment