In this article, we will learn about how to use Python Regex to validate name using IGNORECASE.
re.IGNORECASE
: This flag allows for case-insensitive matching of the Regular Expression with the given string i.e. expressions like [A-Z]
will match lowercase letters, too. Generally, It’s passed as an optional argument to re.compile()
.
Let’s consider an example of a form where the user is asked to enter their name and we have to validate it using RegEx. The format for entering name is as follow:
- Mr. or Mrs. or Ms. (Either one) followed by a single space
- First Name, followed by a single space
- Middle Name(optional), followed by a single space
- Last Name(optional)
Examples:
Input : Mr. Albus Severus Potter Output : Valid Input : Lily and Mr. Harry Potter Output : Invalid
Note : Since, we are using IGNORECASE flag, the first character of First, Second, and Last name may or may not be capital.
Below is the Python code –
# Python program to validate name using IGNORECASE in RegEx # Importing re package import re
def validating_name(name):
# RegexObject = re.compile( Regular expression, flag )
# Compiles a regular expression pattern into a regular expression object
regex_name = re. compile (r '^(Mr\.|Mrs\.|Ms\.) ([a-z]+)( [a-z]+)*( [a-z]+)*$' ,
re.IGNORECASE)
# RegexObject is matched with the desired
# string using search function
# In case a match is found, search() returns
# MatchObject Instance
# If match is not found, it return None
res = regex_name.search(name)
# If match is found, the string is valid
if res: print ( "Valid" )
# If match is not found, string is invalid
else : print ( "Invalid" )
# Driver Code validating_name( 'Mr. Albus Severus Potter' )
validating_name( 'Lily and Mr. Harry Potter' )
validating_name( 'Mr. Cedric' )
validating_name( 'Mr. sirius black' )
|
Output:
Valid Invalid Valid valid