Open In App

How to check if a string starts with a substring using regex in Python?

Last Updated : 28 Aug, 2023
Improve
Improve
Like Article
Like
Save
Share
Report

Prerequisite: Regular Expression in Python

Given a string str, the task is to check if a string starts with a given substring or not using regular expression in Python.

Examples:

Input: String: "geeks for geeks makes learning fun" 
Substring: "geeks"
Output: True
Input: String: "geeks for geeks makes learning fun"
Substring: "makes"
Output: False

Check if a string starts with a substring using regex

Here, we first check a given substring present in a string or not if yes then we use search() function of re library along with metacharacter “^”. This metacharacter checks for a given string starts with substring provided or not. 

Below is the implementation of the above approach:

Python3




# import library
import re
 
# define a function
def find(string, sample) :
   
  # check substring present
  # in a string or not
  if (sample in string):
 
      y = "^" + sample
 
      # check if string starts
      # with the substring
      x = re.search(y, string)
 
      if x :
          print("string starts with the given substring")
 
      else :
          print("string doesn't start with the given substring")
 
  else :
      print("entered string isn't a substring")
 
 
# Driver code
string = "geeks for geeks makes learning fun" 
sample = "geeks"
 
# function call
find(string, sample)
 
sample = "makes"
 
# function call
find(string, sample)


Output:

string starts with the given substring
string doesn't start with the given substring

Time complexity : O(n), where n is the length of the input string.

Space complexity :  O(1) as it only uses a fixed amount of memory, regardless of the size of the input string.

if a string starts with a substring

Here, we first check a given substring present in a string or not if yes then we use search() function of re library along with metacharacter “\A”. This metacharacter checks for a given string starts with substring provided or not.

 
Below is the implementation of the above approach:

Python3




# import library
import re
 
# define a function
def find(string, sample) :
   
  # check substring present
  # in a string or not
  if (sample in string):
 
      y = "\A" + sample
 
      # check if string starts
      # with the substring
      x = re.search(y, string)
 
      if x :
          print("string starts with the given substring")
 
      else :
          print("string doesn't start with the given substring")
 
  else :
      print("entered string isn't a substring")
 
 
# Driver code
string = "geeks for geeks makes learning fun" 
sample = "geeks"
 
# function call
find(string, sample)
 
sample = "makes"
 
# function call
find(string, sample)


Output:

string starts with the given substring
string doesn't start with the given substring

Time complexity : O(n), where n is the length of the input string.

Space complexity :  O(1) as it only uses a fixed amount of memory, regardless of the size of the input string.



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

Similar Reads