简单的TextWrangler正则表达式替换

时间:2012-08-09 22:44:02

标签: 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的电子邮件地址。我希望每次@mydomain.com时都删除整个电子邮件地址,并留下备用电子邮件。

有办法做到这一点吗?

2 个答案:

答案 0 :(得分:1)

如果您的地址位于每行一个列表中,则可以使用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"

答案 1 :(得分:0)

在TextWrangler的Find中标记Grep复选框并在Find textbox中插入此行:

([a-zA-Z0-9\.]*@mydomain.edu(, )?)|((, )?[a-zA-Z0-9\.]*@mydomain.edu)

然后点击全部替换。这将删除该域中的所有电子邮件,并留下正确数量的逗号。