我试图在Outlook中打开的每封电子邮件中使用锚点替换HTML字符串中的字符串,而不会破坏现有的锚点。字符串的格式为X123456,其中X可以是F,P,R,G,K,IT和123456是某个数字。锚点的格式类似于' X123456'。经过大量的调整后,我结束了这段代码:
Dim content As String = mail.HTMLBody
content = RegularExpressions.Regex.Replace(content, "(?<!<[^>]*)(?<!t_)(?<!__"">)(?<![.])(?<![0-9a-zA-Z_-])[fFpPiImMrRkKgG][tT]?\d{5,7}(?!-)(?!\&)(?![a-zA-Z0-9])", AddressOf MakeLink, RegularExpressions.RegexOptions.Multiline)
MakeLink接收匹配并制作锚点。这适用于小型电子邮件,但如果电子邮件变大则无法使用。
我的事情是我复制了正则表达式。我也愿意采用不同的方法,例如使用XML文档,我对网络解决方案的处理力度不高。
提前感谢您的所有想法。