Regex 简单TextWrangler正则表达式替换
我正在使用textwrangler,而且我对regex是新手。我有很多电子邮件地址,但我只需要删除@mydomain.edu地址Regex 简单TextWrangler正则表达式替换,regex,grep,textwrangler,Regex,Grep,Textwrangler,我正在使用textwrangler,而且我对regex是新手。我有很多电子邮件地址,但我只需要删除@mydomain.edu地址 Standard Hall,414,Ashley,Smith,"asmith@mydomain.edu, asmith@otherdomain.com" Standard Hall,414,Stacy,Smith,"ssmith@mydomain.edu, ssmith@otherdomain.com" 如您所见,每行都有一个使用@mydoamin.com的电子邮件
Standard Hall,414,Ashley,Smith,"asmith@mydomain.edu, asmith@otherdomain.com"
Standard Hall,414,Stacy,Smith,"ssmith@mydomain.edu, ssmith@otherdomain.com"
如您所见,每行都有一个使用@mydoamin.com
的电子邮件地址。我希望每次出现@mydomain.com
时删除整个电子邮件地址,并保留备用电子邮件
有没有办法做到这一点?如果您的地址在列表中,每行一个,您可以使用
grep
:
grep -v "@mydomain.edu" file.txt
编辑awk
:
awk -F, '$5 ~ /@mydomain.edu/ { sub("[^\", ]*@mydomain.edu[, ]*","") }1' file.txt
结果:
Standard Hall,414,Ashley,Smith,"asmith@otherdomain.com"
Standard Hall,414,Stacy,Smith,"ssmith@otherdomain.com"
在TextWrangler的Find中,标记Grep复选框,并在Find textbox中插入此行:
([a-zA-Z0-9\.]*@mydomain.edu(, )?)|((, )?[a-zA-Z0-9\.]*@mydomain.edu)
然后点击全部替换。这将删除该域中的所有电子邮件,并保留正确的逗号数。我更新了我的问题。我需要删除整个电子邮件地址,如果它与
@mydomain.edu
@NicHubbard:我想我是在你接受之前/之后编辑的。这个版本对你来说会更健壮。很高兴我能帮忙:-)