Movatterモバイル変換


[0]ホーム

URL:


Open In App

Prerequisite:Regular expression in Python
Given a string, write a Python program to check whether the given string is starting with Vowel or Not.
Examples: 

Input: animalOutput: AcceptedInput: zebraOutput: Not Accepted


In this program, we are using search() method ofre module.
re.search() : This method either returns None (if the pattern doesn’t match), or re.MatchObject that contains information about the matching part of the string. This method stops after the first match, so this is best suited for testing a regular expression more than extracting data. 
Let’s see the Python program for this : 
 

Python3
# Python program to accept string starting with a vowel# import re module# re module provides support# for regular expressionsimportre# Make a regular expression# to accept string starting with vowelregex='^[aeiouAEIOU][A-Za-z0-9_]*'# Define a function for# accepting string start with voweldefcheck(string):# pass the regular expression# and the string in search() methodif(re.search(regex,string)):print("Valid")else:print("Invalid")# Driver Codeif__name__=='__main__':# Enter the stringstring="ankit"# calling run functioncheck(string)string="geeks"check(string)string="sandeep"check(string)

Output: 
ValidInvalidInvalid

 

Using re.findall:

We are using the re module to work with regular expressions in Python. The re.findall method is used to search for all the occurrences of the regular expression in the given string. If a match is found, it returns a list containing the matches. If no match is found, it returns an empty list.

We have defined a regular expression to match strings that start with a vowel (either uppercase or lowercase). The regular expression '^[aeiouAEIOU][A-Za-z0-9_]*' means:

  • ^ matches the start of a string
  • [aeiouAEIOU] matches any of the characters a, e, i, o, u, A, E, I, O, U
  • [A-Za-z0-9_]* matches any character in the range A-Z, a-z, 0-9, or _, zero or more times


We pass the regular expression and the string to the re.findall method. If a match is found, the match variable will contain a list with the matching string. If no match is found, the match variable will be an empty list. We can then check if the match variable is non-empty to determine if the string starts with a vowel or not.

Python3
# Python program to accept string starting with a vowelimportredefcheck(string):# Make a regular expression to accept string starting with vowelregex='^[aeiouAEIOU][A-Za-z0-9_]*'# Use the findall method to search for the regular expression in the stringmatch=re.findall(regex,string)ifmatch:print("Valid")else:print("Invalid")# Driver Codeif__name__=='__main__':# Enter the stringstring="ankit"# calling run functioncheck(string)string="geeks"check(string)string="sandeep"check(string)#This code is contributed by Edula Vinay Kumar Reddy

Output
ValidInvalidInvalid

Time complexity:O(n) where n is the length of the string
Auxiliary Space:O(n)

Approach#3: Using re.match()

This approach problem can be solved using regular expressions. We create a pattern that matches strings starting with any vowel (lowercase or uppercase). Then, we use re.match to check if the given string matches the pattern. If it does, we return "Accepted". Otherwise, we return "Not Accepted".

Algorithm

1. Define the function starts_with_vowel that takes a string s as input.
2. Create a pattern that matches strings starting with any vowel (lowercase or uppercase).
3. Use re.match to check if the given string s matches the pattern.
4. If s matches the pattern, return "Accepted". Otherwise, return "Not Accepted".

Python3
importredefstarts_with_vowel(s):"""Return 'Accepted' if `s` starts with a vowel, 'Not Accepted' otherwise."""pattern='^[aeiouAEIOU].*'ifre.match(pattern,s):return"Accepted"else:return"Not Accepted"# Example usage:s1="animal"s2="zebra"print(starts_with_vowel(s1))# Output: Acceptedprint(starts_with_vowel(s2))# Output: Not Accepted

Output
AcceptedNot Accepted

Time complexity: O(n), where n is the length of the input string s. This is because we are using the re.match() function, which takes linear time to match the pattern with the input string.

Space complexity: O(1), as we are only creating a single regular expression pattern and a few string variables that do not scale with the input size.


Improve

Explore

Lightbox
Improvement
Suggest Changes
Help us improve. Share your suggestions to enhance the article. Contribute your expertise and make a difference in the GeeksforGeeks portal.
geeksforgeeks-suggest-icon
Create Improvement
Enhance the article with your expertise. Contribute to the GeeksforGeeks community and help create better learning resources for all.
geeksforgeeks-improvement-icon
Suggest Changes
min 4 words, max Words Limit:1000

Thank You!

Your suggestions are valuable to us.

What kind of Experience do you want to share?

Interview Experiences
Admission Experiences
Career Journeys
Work Experiences
Campus Experiences
Competitive Exam Experiences

[8]ページ先頭

©2009-2025 Movatter.jp