Python – Check if String Contain Only Defined Characters using Regex
Last Updated :
05 Jan, 2024
In this article, we are going to see how to check whether the given string contains only a certain set of characters in Python. These defined characters will be represented using sets.
Examples:
Input: ‘657’ let us say regular expression contains the following characters- (‘78653’)
Output: Valid
Explanation: The Input string only consists of characters present in the given string.
Input: ‘7606’ let us say regular expression contains the following characters-
(‘102’)
Output: Invalid
Explanation: The input string consists of characters not present in given string.
Algorithm
Step 1: Define the pattern of the string using RegEx.
Step 2: Match the string with the specified pattern
Step 3: Print the Output
Check if String Contains Only Defined Characters using Regex
The method or approach is simple we will define the character set using a regular expression. The regular expression is a special pattern or sequence of characters that will allow us to match and find other sets of characters or strings.
Functions Used:
- compile(): Regular expressions are compiled into pattern objects, which have methods for various operations such as searching for pattern matches or performing string substitutions.
- search(): re.search() method either returns None (if the pattern doesn’t match), or a 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.
Below is the implementation.
Python3
import re
def check( str , pattern):
if re.search(pattern, str ):
print ( "Valid String" )
else :
print ( "Invalid String" )
pattern = re. compile ( '^[1234]+$' )
check( '2134' , pattern)
check( '349' , pattern)
|
Output:
Valid String
Invalid String
Note: You can also use re.match() in place of re.search()
Time complexity : O(n)
Space Complexity : O(1)
Please Login to comment...