需要从电子邮件中删除除中间的所有首字母

时间:2014-02-14 15:05:50

标签: regex

我有一大堆电子邮件需要查找并替换一封如下所示的电子邮件:

First.Middle.Last@gmail.com

为:

first.m.last@gmail.com

有关如何执行此操作的任何帮助?也可以在输出中降低所有内容

3 个答案:

答案 0 :(得分:2)

查找内容:([^.]+)\.(.)[^.]*\.
替换为:$1.\L$2.

在perl:

my $str = 'First.Middle.Last@gmail.com';
$str =~ s/([^.]+)\.(.)[^.]*\./$1.\L$2./;
say $str;

<强>输出:

First.m.Last@gmail.com

答案 1 :(得分:0)

查找

(\w+\.)(\w)\w*(\..*)

替换为:

\L\1\2\3

答案 2 :(得分:0)

在JavaScript中:

"First.Middle.Last@gmail.com".replace(/([^\.]+)\.(.{1})[^.]+\.(.+)/i, '$1.$2.$3').toLowerCase();

将输出:

first.m.last@gmail.com