我不认为这个问题以前被问过……我肯定找不到这样的要求。
背景
有一个API返回人员的ID。通常情况下,应将ID视为区分大小写……但如果ID实际上是他们的电子邮件地址……并且您正在与该API的实现进行交互,它返回了一个混合大小写版本的电子邮件地址,则会有很多乐趣……
因此,您正在与一个实现进行交互……它会给您返回类似URL的东西作为ID,例如:
问题:如果给出一个由外部服务提供的字符串,是否有一个测试可以确定该字符串是否为电子邮件地址,以便我可以强制将域名转换为小写?
允许少量的电子邮件地址被忽略,并且没有将字符串的一部分强制转换为小写,除非它是电子邮件地址的域部分。 (不允许误判)
请注意,这个问题与this和this略有不同,因为在那两个问题的背景下,你已经知道字符串应该是一个电子邮件地址。
在这个问题的背景下,我们不知道这个字符串是一个电子邮件地址还是其他什么... 这使得这个问题不同。
背景
有一个API返回人员的ID。通常情况下,应将ID视为区分大小写……但如果ID实际上是他们的电子邮件地址……并且您正在与该API的实现进行交互,它返回了一个混合大小写版本的电子邮件地址,则会有很多乐趣……
因此,您正在与一个实现进行交互……它会给您返回类似URL的东西作为ID,例如:
http://foo.bar.com/blahblahblah
as€jlhdésdj678hjghas7t7qhjdhg£
bob.mcspam@acme.org
或者你正在与不那么出色的实现交谈,该实现返回完全等效的ID。
bob.mcspam@ACME.org
问题:如果给出一个由外部服务提供的字符串,是否有一个测试可以确定该字符串是否为电子邮件地址,以便我可以强制将域名转换为小写?
允许少量的电子邮件地址被忽略,并且没有将字符串的一部分强制转换为小写,除非它是电子邮件地址的域部分。 (不允许误判)
请注意,这个问题与this和this略有不同,因为在那两个问题的背景下,你已经知道字符串应该是一个电子邮件地址。
在这个问题的背景下,我们不知道这个字符串是一个电子邮件地址还是其他什么... 这使得这个问题不同。