是否可以使用正则表达式匹配整个RFC1341/RFC2045 Base64块(每行最多76个字符(,而不是仅匹配单个行?
我设法得到的最接近的是^(?:[a-zA-Z0-9+/=-]{1,76}[r|n|rn]?)+
,但它只在Notepad++中找到单独的行,而且它也选择了Base64块以外的东西。
示例:
- EML文件:https://www.phpclasses.org/browse/file/14672.html
- Regex:https://regex101.com/r/JTh5uZ/1
这可能吗?
您可以使用此正则表达式获取所有eml
块:
^(?:[w+/=-]{76}R)+[w+/=-]{1,76}
RegEx演示
RegEx详细信息:
^
:线路启动(?:
:启动非捕获组[w+/=-]{76}
:匹配[...]
中允许的76个字符R
:任何类型的换行符(unicode(
)+
:结束非捕获组。匹配此组中的一个或多个[w+/=-]{1,76}
:匹配[...]
中允许的1到76个字符