Python regular expression module (re) can be used to find presence of a pattern in a string using re.search. Basic usage of re.search is:
re.search(pattern, string, flags=0)
Here are some examples.
re.search – ignore case
We can use flag re.I (or re.IGNORECASE) for ignoring case.
import re
m = re.search('world', "Hello WORLD", re.I)
if (m):
print m.group()WORLD
Env: Python 2.7.18
re.search – with sub groups
Round brackets in pattern can be used for subgroups matching and can be accessed using m.groups().
import re
m = re.search('(hello)\s+(world)', "a Hello WORLD", re.I)
if (m):
print m.group()
print m.groups()Hello WORLD
('Hello', 'WORLD')
Env: Python 2.7.18
re.search – dot matches all
We can use re.S (or re.DOTALL) to match dot with all characters including newline.
import re
m = re.search('hello.*world', "Hello WORLD\nHello world.", re.I)
print "== when not using re.S =="
if (m):
print m.group()
m = re.search('hello.*world', "Hello WORLD\nHello world.", re.I|re.S)
print "== when using re.S =="
if (m):
print m.group()== when not using re.S == Hello WORLD == when using re.S == Hello WORLD Hello world
Env: Python 2.7.18