Search function searches the whole string to match the substring and returns its index.
syntax:-
re.search(substring, string, flag)>
e.g.,
import re a="Python" s=''' One of the most famous programming language in the world is Python.''' print(re.search(a, s))
![](https://pythonpoint.net/wp-content/uploads/2021/01/Screenshot-1388-1024x159.png)
This is all about search function in python.
Match function attempts to match RE pattern to string with optional flags.
syntax:-
re.match(pattern, string, flags=0)
e.g.,
import re a="Python" s='''Python is one of the most popular programming languages in the world.''' print(re.match(a, s, re.IGNORECASE))
![](https://pythonpoint.net/wp-content/uploads/2021/01/Screenshot-1385-1024x148.png)
This is all about match function in python.
Both return the first match of a substring found in the string, but re.match() searches only from the beginning of the string and return match object if found. But if a match of substring is found somewhere in the middle of the string, it returns none.
While re.search() searches for the whole string even if the string contains multi-lines and tries to find a match of the substring in all the lines of string.
e.g.,
import re a="Python" s=''' One of the most famous programming language in the world is Python.''' print(re.search(a, s, re.IGNORECASE)) Print(re.match(a, s, re.IGNORECASE))
![](https://pythonpoint.net/wp-content/uploads/2021/01/Screenshot-1390-1024x215.png)
This is all about matching vs. searching in python.