优化Reaper RPP文件VST元素筛选的正则表达式问询
简化Reaper RPP文件的VST元素筛选正则
筛选除FreeG外的所有VST元素
原嵌套前瞻的正则可以简化为更直观的版本,直接在VST名称位置做排除:
BYPASS \d \d \d\n.{6}<VST "(?!VST: FreeG).*?WAK \d \d \d
如果允许简化数字匹配,还可以写成:
BYPASS (?:\d ){2}\d\n.{6}<VST "(?!VST: FreeG).*?WAK (?:\d ){2}\d
- 逻辑:匹配标准VST结构,但通过负前瞻
(?!VST: FreeG)排除名称为FreeG的插件,避免了原正则中嵌套前瞻的复杂结构。
仅筛选含FreeG的VST元素
无需额外的负前瞻,直接精准匹配目标结构即可:
BYPASS \d \d \d\n.{6}<VST "VST: FreeG.*?WAK \d \d \d
简化数字匹配的版本:
BYPASS (?:\d ){2}\d\n.{6}<VST "VST: FreeG.*?WAK (?:\d ){2}\d
- 逻辑:直接锁定以FreeG命名的VST条目,结构更清晰,性能也更优。
VST元素定义
- 每个VST元素起始行格式:
BYPASS X X X(X为单个数字) - 第二行以6个空格开头,格式:
<VST "VST: [插件名称]" - 元素结束行格式:
WAK X X X(X为单个数字)
完整RPP文件示例
REAPER_PROJECT 0.1 "6.82" "Windows NT 10.0" "x64" <PROJECT <ITEM <FXCHAIN BYPASS 0 0 0 <VST "VST: FreeG (VladG)" "FreeG.dll" 0 0 0 <PARAMETERS 0.5 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 > WAK 0 0 0 BYPASS 1 1 0 <VST "VST: EQ8 (Cockos)" "eq8.dll" 0 0 0 <PARAMETERS 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 > WAK 0 0 0 BYPASS 0 0 1 <VST "VST: ReaComp (Cockos)" "reacomp.dll" 0 0 0 <PARAMETERS 0.5 0.3 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 > WAK 0 0 0 > > >
内容的提问来源于stack exchange,提问作者shadow24
相关产品推荐
相关产品推荐

