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

问题描述 投票:0回答:1

我正在尝试从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=...

有什么解决方法

regex go message
1个回答
0
投票
rx := quotedprintable.NewReader(m.Body) body, err := ioutil.ReadAll(rx) if err != nil { log.Fatal(err) } fmt.Println(body)
© www.soinside.com 2019 - 2024. All rights reserved.