How to put variable in regex pattern in Python

This tutorial will teach four perfect techniques to put a variable in the regex pattern.

Let's get started.

F-string to put a variable in regex pattern

f-string is a new python syntax available on Python >= 3.6.

We'll see how to put a variable in regex using f-string in the following example:

import re

txt = "Hello Python"

# My variable
var = "Python"

# Regex with f-string
r = re.findall(f"\s{var}", txt)

# Result
print(r)

Output:

[' Python']

As you can see, the method works perfectly.

format() to put a variable in regex pattern

format() is a built-in function that can put a variable or more into a string.

Let's see an example:

import re

txt = "Hello Python"

# My variable
var = "Python"

# Regex with format()
r = re.findall("\s{}".format(var), txt)

# Result
print(r)

Output:

[' Python']

%s symbol to put a variable in regex pattern

We can also use the %s symbol to put a variable in the regex pattern. Let's see how to use it in an example.

import re

txt = "Hello Python"

# My variable
var = "Python"

# Regex with % symbol
r = re.findall("\s%s"%var, txt)

# Result
print(r)

Output:

[' Python']

For more information about the %s symbol, I suggest you read What Does %s Mean in Python?

+ operator to put a variable in regex pattern

The + operator can be used to concatenate strings. We'll use this operator to join the regex pattern with the variable in our situation.

import re

txt = "Hello Python"

# My variable
var = "Python"

# Regex with + symbol
r = re.findall("\s" + var, txt)

# Result
print(r)

Output:

[' Python']