正则表达式删除TextWrangler中两个字符串之间的文本

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

我很难找到答案。

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

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

这是该领域开始的一个例子:PHOTO;ENCODING=b;TYPE=JPEG:/9j/4AAQSkZJRgABAQAAAQABAAD/4gxYSUNDX1BST0ZJTEUA

结尾变化,所以我用下一行的开头作为结尾:CATEGORIES

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

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

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

regex grep vcard textwrangler
2个回答
1
投票

而不是。*你需要: -

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

因为。与linebreak chars不匹配。

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


0
投票

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

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

它匹配每个附件

© www.soinside.com 2019 - 2024. All rights reserved.