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

时间:2012-10-17 11:59:12

标签: regex grep vcard textwrangler

我很难找到答案。

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

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

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

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

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

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

这有什么办法吗?我正在尝试在Mac上的TextWrangler中执行此操作。

2 个答案:

答案 0 :(得分:1)

而不是。*你需要: -

(.+[\r\n]+).*
因为。与linebreak chars不匹配。

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

答案 1 :(得分:0)

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

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

它与每个附件匹配