Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/338.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Python中使用正则表达式匿名化电子邮件地址_Python_Regex - Fatal编程技术网

在Python中使用正则表达式匿名化电子邮件地址

在Python中使用正则表达式匿名化电子邮件地址,python,regex,Python,Regex,我想隐藏电子邮件地址,但不知道如何获得预期的答案。例如,我想看看hello@gmail.comasxxxxx@xxxxx.xxx 和barakobama@me.coasxxxxxxxxxx@xx.xx 这是迄今为止的代码: content = re.sub(r'.+(?=@.+?)', "xxxxx", email) print(content) 然而,产出是: xxxxx@gmail.com 但我希望: xxxxx@xxxxx.xxx 我不是被迫使用正则表达式!任何帮助都将不胜感激您可以用x

我想隐藏电子邮件地址,但不知道如何获得预期的答案。例如,我想看看
hello@gmail.com
as
xxxxx@xxxxx.xxx
barakobama@me.co
as
xxxxxxxxxx@xx.xx

这是迄今为止的代码:

content = re.sub(r'.+(?=@.+?)', "xxxxx", email)
print(content)
然而,产出是:
xxxxx@gmail.com

但我希望:

xxxxx@xxxxx.xxx


我不是被迫使用正则表达式!任何帮助都将不胜感激

您可以用
x
替换除
@
以外的所有字符:

text = re.sub(r'[^@.]', 'x', text)


[^@.]
模式匹配任何字符,但

re.sub(r'[^@.]',x',text)
?哇,太简单了!Thanks@WiktorStribiżew在这种情况下,我希望
str.replace
会接受一个函数,这样就可以
email.replace(lambda ch:ch不在{'@','.},'x')
。有时使用
re.sub
会让人感觉像是一种过激行为。那些逃避
@
的电子邮件呢lol@example.com“@example.com?这是一个有效的电子邮件地址…@DeepSpace错误!TypeError:replace()参数1必须是str,而不是function