我有一个 .ics 文件,我想根据事件类别创建单独的新 .ics 文件(我无法让 egroupware 仅导出一个类别的事件,我想根据类别创建新日历)。我的预期方法是重复消除除一类事件之外的所有事件,然后使用 EditPad Lite 7 (Windows) 保存文件。
我正在努力使正则表达式正确。.+? 仍然太贪婪并且否定字符串(例如从一个类别中消除除事件之外的所有事件)也不起作用。
样本
BEGIN:VEVENT
DESCRIPTION:Event 2
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Event 3
CATEGORIES:Sports
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Event 4
END:VEVENT
正则表达式BEGIN:VEVENT.+?CATEGORIES:Sports.+?END:VEVENT
应该只匹配体育赛事,但它会捕获从第一个BEGIN
到第一个END
类别的所有内容。
编辑:否定也不起作用:BEGIN:VEVENT.+?((?!CATEGORIES:Sports).).+?END:VEVENT
.
我错过了什么?任何指针都受到高度赞赏。