Regular expressions are very useful to the Python geek, especially when they have to deal with a lot of data which comes in the form of text. Being very rich in features, the Python computer programming language comes with a builtin module which offers the functionalities and utilities to construct regular expressions based on the coder’s needs.
The name of the Python builtin module which offers the utilities to construct regular expressions, is re. As most of you may understand, its name stands for regular expressions.
First of all, before going any further with this article, make sure to launch a new Python interactive console in your own operating system so you can practice the theory by yourself.
Once you have managed to launch a new interactive Python interpreter in your own machine, make sure to import the builtin module needed for constructing regular expressions by making use of the following statement.
[sourcecode language=”python”]import re[/sourcecode]
Now that you have imported the module which is needed to construct regular expressions, you have to learn how to make use of the re.search function. The syntax for using such function is shown below.
[sourcecode language=”python”]
# re.search(pattern, string_obj)
# in the above, the re.search function
# searches for the pattern in string_obj
[/sourcecode]
Let’s run a practical example, with the main purpose of illustrating the usage of the re.search function.
Before we can make use of the re.search function, we need to define a Python string object like shown below.
[sourcecode language=”python”]
line_str = ‘cats are not like dogs’
[/sourcecode]
Now that we have defined the string object like shown in the above example, we need to define a pattern so we can make use of it to search the string object.
[sourcecode language=”python”]pattern = ‘cats'[/sourcecode]
Now that we have defined both the pattern and the string, we can easily make use of the re.search function like shown below.
[sourcecode language=”python”]re.search(pattern, line_str)[/sourcecode]
Final thoughts
On success, the re.search function returns a match object, otherwise it returns the Python object None. One can easily check if their function matched anything or not by making use of the following syntax.
[sourcecode language=”python”]
obj = re.search(pattern, line_str)
if obj is not None:
print(obj.group())
[/sourcecode]