【发布时间】:2022-11-06 22:42:46
【问题描述】:
如何从 Golang 中的长字符串中仅提取电子邮件地址?例如:
"a bunch of irrelevant text fjewiwofjfjvnvkdlslsosiejwoqlwpwpwo
mail=jim.halpert@gmail.com,ou=f,c=US
mail=apple.pie@gmail.com,ou=f,c=US
mail=hello.world@gmail.com,ou=f,c=US
mail=alex.alex@gmail.com,ou=f,c=US
mail=bob.jim@gmail.com,ou=people,ou=f,c=US
mail=arnold.schwarzenegger@gmail.com,ou=f,c=US"
这将返回所有电子邮件的列表: [jim.halpert@gmail.com、apple.pie@gmail.com 等...]
每个电子邮件地址都以“mail=”开头并以逗号“,”结尾。
【问题讨论】:
-
你试过什么?你有什么问题?发布您的尝试,最好是minimal reproducible example。
-
这是来自 x509 (TLS) 证书吗?如果是这样,请获取一个 x509 解析器库来提取邮件字段。众所周知,电子邮件地址很难应用过滤规则,因为它们允许引用和转义的所有不同方式。从任意单词汤中可靠地提取电子邮件地址几乎是不可能的。可靠的方法是解析包含电子邮件地址的实际容器格式。因此,如果这来自 x509 证书,那么您要解析证书,不是电子邮件地址!
标签: go