EML Base64 块的正则表达式

Regex for EML Base64 block

是否可以使用正则表达式匹配 整个 RFC1341 / RFC2045 Base64 块(每行最多 76 个字符), 只是个别行?

我设法得到的最接近的是 ^(?:[a-zA-Z0-9+\/=-]{1,76}[\r|\n|\r\n]?)+,但它只能在 Notepad++ 中找到单独的行,它也会选择 Base64 块以外的内容。

示例:

这可能吗?

您可以使用此正则表达式来获取所有 eml 个块:

^(?:[\w+/=-]{76}\R)+[\w+/=-]{1,76}

RegEx Demo

正则表达式详细信息:

  • ^: 行开始
  • (?:: 启动非捕获组
    • [\w+/=-]{76}: 匹配[...]
    • 中允许的76个字符
    • \R: 匹配任何类型的换行符 (unicode)
  • )+:结束非捕获组。匹配该组中的 1 个或多个。
  • [\w+/=-]{1,76}: 匹配[...]
  • 中允许的1到76个字符