Open In App

Python – Check if String Contain Only Defined Characters using Regex

Last Updated : 05 Jan, 2024
Improve
Improve
Like Article
Like
Save
Share
Report

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




# _importing module
import re
def check(str, pattern):
    # _matching the strings
    if re.search(pattern, str):
        print("Valid String")
    else:
        print("Invalid String")
# _driver code
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)


Like Article
Suggest improvement
Previous
Next
Share your thoughts in the comments

Similar Reads