在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
asxxxxx@xxxxx.xxx
和barakobama@me.co
asxxxxxxxxxx@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