regex - 使用正则表达式从imap消息中查找大网址

标签 regex go message

我正在尝试从imap正文获取所有网址。
(烂英文)

但行还是没有完成...这是一个身体例子:

--0be77753a270f2c4351a6136d4db53b8d5a0915772015b88482d343cd923
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; charset=UTF-8
Mime-Version: 1.0

Hey Nice not bot,

Verify Email: http://url7195.exampleeee.com/ls/click?upn=3Dfd1JsYG2fcDxrkX5=
K-2Bik0WW41h64-2BxxXx3oZfRIIH08wCb8K-2FdArvOy5vvu0DTjzjgjf-2BfBD08hNAWzHQ8F=
YY3rpDNssST11Ff6X1TR5-2FdNUF6YYI2VXDt5emv421o7Se3qwefwJXLFrPIcshgM89nXMATp1=
aa0ydtBChln0GWGEr2IZ15Fi5H6yw6PfivQEAE1kXvsyZHTTCb9ZZM1J3g-3D-3DnObO_zO-2B1=
oy6odMO-2FwWNSIhsR4dTb-2FXQKlgYw2DaIxkuSKMPAtHJpMtiON-2BcrxOwWCWCUuQi4Xp27E=
0JbWB59EQSGZ-2F1xYiuJvOUwwzWENJuoRCQv3kJ27jHyDblbjzfDNjlDBV7EX-2Boz5qRM-2B9=
ZuHs5Pkg5mR0FEBy-2FymuVg9zql3PjBRK05nBK6DbfaSxLyIp-2B2pVAV4-2FW-2BzOZnhHjsy=
go-2FYQ-3D-3D

--0be77753a270f2c4351a6136d4db53b8d5a0915772015b88482d343cd92

我的代码:
re := regexp.MustCompile(`(?i)[(http(s)?):\/\/(www\.)?a-zA-Z0-9@:%._\\+~#=]{2,256}\.[a-z]{2,6}\b[-a-zA-Z0-9@:%_\+.~#?&//=]*`)
matches := re.FindAllString(string(body), -1)
for _, element := range matches {
    fmt.Println(element)
}

输出:
http://url7195.exampleeee.com/ls/click?upn=3Dfd1JsYG2fcDxrkX5=

我想要这样的输出:
http://url7195.exampleeee.com/ls/click?upn=3Dfd1JsYG2fcDxrkX5=K-2Bik0WW41h642BxxXx3oZfRIIH08wCb8K2FdArvOy5vvu0DTjzjgjf2BfBD08hNAWzHQ8F=YY3rpDNssST11Ff6X1TR52FdNUF6YYI2VXDt5emv421o7Se3qwefwJXLFrPIcshgM89nXMATp1=...

有什么办法吗

最佳答案

我使用了带引号的可打印作品!

rx := quotedprintable.NewReader(m.Body)

body, err := ioutil.ReadAll(rx)
if err != nil {
    log.Fatal(err)
}
fmt.Println(body)

关于regex - 使用正则表达式从imap消息中查找大网址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61788184/

相关文章:

附近的 Android - 连接与消息 API

html - 使用 Notepad++ 和正则表达式创建 NCX 文件

javascript - 检查是否为空

file - 从 awk 脚本打印文本 block 到文件 [banner like]

json.Unmarshal 嵌套对象成字符串或 []byte

go - 缓慢的 int.big 计算并且只在一个线程上

PHP/JS ?网站 : We have lost connection

r - 提取 R 中最后一个正则表达式匹配

javascript - 正则表达式获取最后一个重复

sql-server - GORM 和 SQL Server : auto-incrementation does not work