Regular Expression Operations in Python
In this article, we will see the regular expression operations in Python. Before that, we need to know what regular expressions are:
A regular expression, regex or regexp is a sequence of characters that define a search pattern. - Wikipedia
It is important that you know how regular expressions work before we proceed using them in Python. Please refer to the basic concepts beforehand.
Regular Expression Operations in Python:
Python supports regular expressions with the help of the re module and the re module has several useful methods. Some of the basic ones are:
- re.findall() :
The findall() method finds all the non-overlapping substrings that match the given regex pattern. The matched substrings are returned as a list and suppose if no matches are found, it returns an empty list.
Let’s look at an example:import re string = "abaacada" # finds all non overlapping substrings that match matches = re.findall("a.a", string) print(matches)
Output:
['aba', 'aca']
The substring “ada” is not in the list since the “a” is already a part of another matched substring.
- re.search():
The re.search() method is similar to the findall method. It searches for the given pattern and returns the first match found. If no match is found, it returns None. Now, Let’s look at an example of it:import re string = "abaacada" # finds the first substring that matches the regex pattern matches = re.search("a.a", string).group() print(matches)
Output:
aba
- re.split():
The re.split() method splits the string wherever there is a regex pattern match and returns the split string as a list of strings. Let’s look at an example now:import re string = "abcdefghij" # splits the strings at the matched indexes matches = re.split("['a', 'e', 'i', 'o', 'u']", string) print(matches)
Output:
['', 'bcd', 'fgh', 'j']
- re.sub():
The re.sub() method finds wherever there’s a match to the regex pattern in the string and replaces the matched substring with the specified string.import re string = "abcdefghij" # matches and replaces it with the given string string = re.sub("['a', 'e', 'i', 'o', 'u']", "1", string) print(string)
Output:
1bcd1fgh1j
Finally, I hope you found this article helpful in understanding the regular expression operations in Python.
See also:
Leave a Reply