In [1]:
import re

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

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


new-address, new-address, ccc@zzz.net

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


<class 'str'>

In [5]:
result = re.sub(r'([a-z]+)@([a-z]+)\.com', r'\1@\2.net', s)
print(result)


aaa@xxx.net, bbb@yyy.net, ccc@zzz.net

In [6]:
result = re.sub(r'(?P<local>[a-z]+)@(?P<SLD>[a-z]+)\.com', r'\g<local>@\g<SLD>.net', s)
print(result)


aaa@xxx.net, bbb@yyy.net, ccc@zzz.net

In [7]:
result = re.sub(r'[a-z]+@[a-z]+\.com', 'new-address', s, count=1)
print(result)


new-address, bbb@yyy.com, ccc@zzz.net

In [8]:
result = re.subn(r'[a-z]+@[a-z]+\.com', 'new-address', s)
print(result)


('new-address, new-address, ccc@zzz.net', 2)

In [9]:
print(result[0])


new-address, new-address, ccc@zzz.net

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


2

In [11]:
result = re.subn(r'(?P<local>[a-z]+)@(?P<SLD>[a-z]+)\.com', r'\g<local>@\g<SLD>.net', s)
print(result)


('aaa@xxx.net, bbb@yyy.net, ccc@zzz.net', 2)

In [12]:
result = re.subn(r'[a-z]+@[a-z]+\.com', 'new-address', s, count=1)
print(result)


('new-address, bbb@yyy.com, ccc@zzz.net', 1)