给定一个电子邮件地址,应用于该电子邮件地址的转换结果以及第二个电子邮件地址,将返回应用于第二个电子邮件地址的相同转换的输出。
电子邮件地址都将具有以下结构:
一串正长度的字符串,包含字母数字字符和最多一个.
(局部部分),后跟一个@
符号,然后是一串正长度的字符串,其中包含字母数字sumbols(域),后跟一个.
符号,最后是一串正长度的字符串包含字母数字字符(TLD)。
有四个允许的转换:
- 身份(不变)。(
a.b@c.d -> a.b@c.d
) - 仅返回本地部分(之前的所有内容)
@
未修改(a.b@c.d -> a.b
))。 - 返回本地部分拆分
.
如果存在),并用大写的每半个符号表示。(a.b@c.d -> A B
)。 - 仅返回域(介于
@
和最终之间的所有内容.
未修改)。(a.b@c.d -> c
)。
如果可能进行多个转换,则可以给出任何可能性的输出。输出开头和结尾的空格无关紧要,但是中间的空格就无关紧要(即,如果拆分a.b
为A B
中间,则中间应该只有一个空格[并且输出的开头和结尾应该是空格),但是如果拆分a.
,那么A
在任何一侧都可以有任意数量的空格)。
范例(input | output
):
john.doe@gmail.com, John Doe, phillip.maini@gmail.com | Phillip Maini
John.Doe@gmail.com, John Doe, Phillip.Maini@gmail.com | Phillip Maini
foo.bar@hotmail.com, foo.bar, gee.whizz@outlook.com | gee.whizz
foo.bar@hotmail.com, foo.bar, gEe.Whizz@outlook.com | gEe.Whizz
rodney.dangerfield@comedy.net, comedy, michael.scott@office.0 | office
.jones@x.1, Jones, a.@3.z | A
.jones@x.1, .jones@x.1, a.@3.z | a.@3.z
.jones@x.1, .jones, a.@3.z | a.
.jones@x.1, x, a.@3.z | 3
.@b.c, .@b.c, 1@2.3 | 1@2.3
john.jones@f.f, John Jones, 1in.thehand@2inthe.bush | 1in Thehand
chicken.soup@q.z, Chicken Soup, fab@ulou.s | Fab
lange@haare.0, lange, fat.so@fat.net | fat.so
Lange@haare.0, Lange, fat.so@fat.net | {fat.so, Fat So} # either acceptable
chicken@chicken.chicken, chicken, horse@pig.farm | {horse, pig} # either acceptable
通常存在规则和漏洞。
@
和final 之间的部分.
)。由于本地部分和领域都相同chicken
,因此是第二次转换还是第四次转换都
A
[带尾随空格]的情况下,第二个输入为Jones
[带前导空格])?
.jones@x.1, Jones, a.@3.z
是A
-如果jones
匹配这意味着匹配的部分是第一期和@符号之间的部分。但是,这将导致一个空字符串,因为该字符串a
在第一个句点之前而不是之后。