1

我已经非常努力地寻找答案。

基本上,我要做的是删除一些导出的 vCard 中的某些字段,这些 vCard 是我通过 Automator 使用 Mac 的联系人应用程序导出的。

我设法删除了那些单行字段,例如生日和社交网络。但是,有一个特定的字段占用多行,我假设它是原始图像的 base64 编码版本 - PHOTO 字段。

这是字段开始的示例: PHOTO;ENCODING=b;TYPE=JPEG:/9j/4AAQSkZJRgABAQAAAQABAAD/4gxYSUNDX1BST0ZJTEUA

结尾各不相同,所以我用下一行的开头作为结尾: CATEGORIES

我最接近的是PHOTO;ENCODING.*CATEGORIES

不幸的是,它似乎只选择了整个块的第一行。

有没有办法解决?我正在尝试在我的 Mac 上的 TextWrangler 中执行此操作。

4

2 回答 2

1

而不是 .* 您需要:-

(.+[\r\n]+).*

因为 。不匹配换行符。

括号中的模式匹配由以换行符结尾的字符序列组成的多行。

于 2012-10-17T12:30:39.193 回答
0

在朋友的帮助下,我尝试了 TextWrangler

ATTACH;ENCODING=BASE64([^\n]*\n )*[^\n]*\n 

它匹配每个附件

于 2019-03-20T22:19:11.620 回答