The search() Function
The search() function searches the string for a match, and returns a Match object if there is a match.
If there is more than one match, only the first occurrence of the match will be returned:
Example
Search for the first white-space character in the string:
import re
txt = "The rain in
Spain"
x = re.search("\s", txt)
print("The first white-space character is located in
position:", x.start())
Output:
The first white-space character is located in position: 3
The split()
Function
The split() function returns a list where the string has been split at each match:
Example
Split at each white-space character:
import re
txt = "The rain in
Spain"
x = re.split("\s", txt)
print(x)
Output:
['The', 'rain', 'in', 'Spain']
Match Object
A Match Object is an object containing information about the search and the result.
Note: If there is no match, the value None will be returned, instead of the Match Object.
Example
Do a search that will return a Match Object:
import re
txt = "The rain in
Spain"
x = re.search("ai", txt)
print(x) #this will print an object
Output:
<_sre.SRE_Match object; span=(5, 7), match='ai'>
The Match object has properties and methods used to retrieve information about the search, and the result:
.span() returns
a tuple containing the start-, and end positions of the match.
.string returns
the string passed into the function
.group() returns
the part of the string where there was a match
Example
Print the position (start- and end-position) of the first match occurrence.
The regular expression looks for any words that starts with an upper case "S":
import re
txt = "The rain in
Spain"
x = re.search(r"\bS\w+", txt)
print(x.span())
Output:
(12, 17)
Example
Print the string passed into the function:
import re
txt = "The rain in
Spain"
x = re.search(r"\bS\w+", txt)
print(x.string)
Output:
The rain in Spain
Example
Print the part of the string where there was a match.
The regular expression looks for any words that starts with an upper case "S":
import re
txt = "The rain in
Spain"
x = re.search(r"\bS\w+", txt)
print(x.group())
Output:
Spain
You can also much detailed explanation and more examples here:
https://www.tutorialspoint.com/python3/python_reg_expressions.htm
https://docs.python.org/3/library/re.html
Comments
Post a Comment