You are currently viewing Python regex match() with Examples

These days search functionality has proven to be an integral part of any system, be it the web or a local computer. Typing a search term and getting a match, as a result, seems to be all magic but have you ever wondered how this search works, how you search for a word and you get a match for the word as a result? How do you search for a file on your computer and get a match for that file as an output? We all know that there is a complex technique behind all that but how is it implemented in such programs?

Advertisements

In this tutorial, you will learn the basics of the match() method and how to use it to match simple and complex patterns of text. By the end of this tutorial, you will have a solid understanding of how to use the match() method in Python regex and how it can be a useful tool in your text-processing arsenal. So, let’s get started!

Here, we will cover the following

  • Introduction to the match() method
  • Syntax of the match() method
  • Using the match() method for simple matches
    • Matching a single character
    • Matching a sequence of characters
  • Using the match() method for more complex matches
    • Matching a range of characters
    • Matching digits and non-digits
  • Conclusion

1. Introduction to the match() method

Before we start working on some coding examples that demonstrate the usage of the regex match() method you should understand what it is. The regex match() method is one of the re module’s methods that is used to search for a pattern at the begging of a pattern.

The match() method returns a match object if the pattern is found at the beginning of the string. If there is no match, it returns None. The match object contains information about the location of the match in the string.

2. Syntax of the match() method

To make the most of the match method you should understand the syntax it uses. Below is the syntax:


re.match(pattern, string, flags=0)

ParameterDescription
patternThis is what you what to search for in the text
stringThis is the text you want to search in
flags(optional)This helps to modify the behavior of the search
match() method arguments

3. Using the match() method for simple matches

In this section, with the help of examples, I will demonstrate how you can use the re module match() method in simple scenarios.

4. Matching a single character

The first simple scenario is when you want to match a single character. The code for that would look as follows:


import re

text = "SparkByExamples. One Stop For All Code Examples!"
pattern = r"Spark"

match = re.match(pattern, text)

if match:
    print("Match found:", match.group())
else:
    print("No match found.")


The code snippet, searches for the regular expression pattern Spark in the string SparkByExamples. One Stop For All Code Examples!

The re.match() method tries to match the pattern at the beginning of the string. If the pattern is found, a match object is returned, otherwise, None is returned.

In this case, the pattern Spark is found at the beginning of the string, so the code will give this output:


No match found.

5. Using the match() method for more complex matches

The regex match() method is not only limited to accomplishing simple matches but it can also accomplish complex matches. This section will demonstrate that.

Matching a range of characters

You can use the match() method in the re module to find a match in a range of characters. Here is an example:


import re

text = "SparkByExamples. One Stop For All Code Examples."
pattern = r"[S-Z]"

match = re.match(pattern, text)

if match:
    print("Match found:", match.group())
else:
    print("No match found.")

In this block of code, the regular expression pattern is defined as r”[S-Z]”, which matches any single character in the range of capital letters S through Z.

The re.match() method is used to find a match for the pattern at the beginning of the string. If a match is found, the match.group() method is used to retrieve the matched substring.

In this case, the output will be:


Match found: S

6. Matching digits and non-digits

In scenarios where you want to find a match of digits or non-digits in a string, here is how you can go about it:


import re

text = "2018 is the year SparkByExamples.com was found"
pattern = r"\d+"

match = re.match(pattern, text)

if match:
    print("Match found:", match.group())
else:
    print("No match found.")

In the above code snippet, the match() method tries to match the pattern from the beginning of the string. In this case, the pattern \d+ matches the first characters 2018 in the input string.

Since the match is found, the output is:


Match found: 2018

Conclusion

In this tutorial, we covered the match method in Python’s regular expression module. This method is particularly useful for searching for patterns at the beginning of a string. We explored how to define a pattern using regular expressions, and how to use the match method to search for that pattern in a given string. I hope this tutorial has been useful to you, and that you will be able to apply what you have learned to your projects. Happy coding!