Prerequisites : Regular Expressions | Set 1, Set 2 Given a string, the task is to check if that string contains any g followed by one or more e’s in it, otherwise, print No match. Examples :
Input : Lazyroar for Lazyroar Output : Lazyroar Lazyroar Input : graphic era Output : No match
Approach : Firstly, make a regular expression (regex) object that matches a word which contains ‘g’ followed by one or more e’s, then pass a string in the findall method. This method returns the list of the matched strings. Loop through the list and print each matched word.
\w – represent Any letter, numeric digit, or the underscore character. * means zero or more occurrence of the character. + means one or more occurrence of the character.
Below is the implementation :
Python3
# Python program that matches a word # containing ‘g’ followed by one or # more e’s using regex # import re packages import re # Function check if the any word of # the string containing 'g' followed # by one or more e's def check(string) : # Regex \w * ge+\w * will match # text that contains 'g', followed # by one or more 'e' regex = re. compile ("ge + \w * ") # The findall() method returns all # matching strings of the regex pattern match_object = regex.findall(string) # If length of match_object is not # equal to zero then it contains # matched string if len (match_object) ! = 0 : # looping through the list for word in match_object : print (word) else : print ("No match") # Driver Code if __name__ = = '__main__' : # Enter the string string = "Welcome to Lazyroar for Lazyroar" # Calling check function check(string) |
Output :
Lazyroar Lazyroar
Time complexity: O(n) where n is the length of the input string
Auxiliary Space: O(1), as the program uses a constant amount of memory for the regex pattern and the match_object.