In [1]:
import re

In [2]:
s = 'aaa@xxx.com, bbb@yyy.com, ccc@zzz.net'

In [3]:
result = re.findall(r'[a-z]+@[a-z]+\.[a-z]+', s)
print(result)


['aaa@xxx.com', 'bbb@yyy.com', 'ccc@zzz.net']

In [4]:
print(len(result))


3

In [5]:
result = re.findall(r'([a-z]+)@([a-z]+)\.([a-z]+)', s)
print(result)


[('aaa', 'xxx', 'com'), ('bbb', 'yyy', 'com'), ('ccc', 'zzz', 'net')]

In [6]:
result = re.findall(r'(([a-z]+)@([a-z]+)\.([a-z]+))', s)
print(result)


[('aaa@xxx.com', 'aaa', 'xxx', 'com'), ('bbb@yyy.com', 'bbb', 'yyy', 'com'), ('ccc@zzz.net', 'ccc', 'zzz', 'net')]

In [7]:
result = re.findall('[0-9]+', s)
print(result)


[]

In [8]:
s = 'aaa@xxx.com, bbb@yyy.com, ccc@zzz.net'

In [9]:
result = re.finditer(r'[a-z]+@[a-z]+\.[a-z]+', s)
print(result)


<callable_iterator object at 0x10b0efa90>

In [10]:
print(type(result))


<class 'callable_iterator'>

In [11]:
for m in result:
    print(m)


<re.Match object; span=(0, 11), match='aaa@xxx.com'>
<re.Match object; span=(13, 24), match='bbb@yyy.com'>
<re.Match object; span=(26, 37), match='ccc@zzz.net'>

In [12]:
l = list(re.finditer(r'[a-z]+@[a-z]+\.[a-z]+', s))
print(l)


[<re.Match object; span=(0, 11), match='aaa@xxx.com'>, <re.Match object; span=(13, 24), match='bbb@yyy.com'>, <re.Match object; span=(26, 37), match='ccc@zzz.net'>]

In [13]:
print(l[0])


<re.Match object; span=(0, 11), match='aaa@xxx.com'>

In [14]:
print(type(l[0]))


<class 're.Match'>

In [15]:
print(l[0].span())


(0, 11)

In [16]:
print([m.span() for m in re.finditer(r'[a-z]+@[a-z]+\.[a-z]+', s)])


[(0, 11), (13, 24), (26, 37)]

In [17]:
result = re.finditer(r'[a-z]+@[a-z]+\.[a-z]+', s)

In [18]:
for m in result:
    print(m)


<re.Match object; span=(0, 11), match='aaa@xxx.com'>
<re.Match object; span=(13, 24), match='bbb@yyy.com'>
<re.Match object; span=(26, 37), match='ccc@zzz.net'>

In [19]:
print(list(result))


[]