clash_for_windows_pkg icon indicating copy to clipboard operation
clash_for_windows_pkg copied to clipboard

怎么在parse(预处理配置)里设置MATCH规则

Open yu8349 opened this issue 3 years ago • 7 comments

如题,我想在机场的规则里添加一个MATCH对应的分组来随时切换黑白名单,但问题是,在parse里写的match他不会到最下面的规则,该如何设置才能让他到最下面,这样不影响本身机场的规则,可行吗

yu8349 avatar Aug 29 '22 15:08 yu8349

https://docs.cfw.lbyczf.com/contents/parser.html#参数说明

LightAPIs avatar Aug 30 '22 06:08 LightAPIs

https://docs.cfw.lbyczf.com/contents/parser.html#参数说明

这个文档对我帮助很大,还有一个问题,我该如何删除原先的MATCH规则,我看了文档里command的使用,目前我的代码是 #command: #- rules.562- 在原来的规则里他是第562条,我该如何搜索它删除而不是指定数组元素下标删除(指定下标不具备健壮性),或者如何删除原本数组的最后一个元素

yu8349 avatar Aug 30 '22 11:08 yu8349

https://docs.cfw.lbyczf.com/contents/parser.html#参数说明

这个文档对我帮助很大,还有一个问题,我该如何删除原先的MATCH规则,我看了文档里command的使用,目前我的代码是 #command: #- rules.562- 在原来的规则里他是第562条,我该如何搜索它删除而不是指定数组元素下标删除(指定下标不具备健壮性),或者如何删除原本数组的最后一个元素

复杂些的操作需要通过编写 js 了:https://docs.cfw.lbyczf.com/contents/parser.html#进阶方法-javascript

LightAPIs avatar Aug 30 '22 11:08 LightAPIs

这种建议用一下diff功能

Fndroid avatar Aug 30 '22 11:08 Fndroid

通过测试,可以使用如下 parser 语句完成 MATCH 的替换:

parsers: # array
    - reg: '^.*$'
    # - reg: ^.*$ 匹配所有订阅
      yaml:
        commands:
          # 在原有 MATCH 前插入自定义 MATCH 规则,如 DIRECT
          - rules.(-1)+MATCH, DIRECT
          # 删除原有的 MATCH 语句,非必要
          - rules.(-1)-

yi-Xu-0100 avatar Aug 30 '22 12:08 yi-Xu-0100

通过测试,可以使用如下 parser 语句完成 MATCH 的替换:

parsers: # array
    - reg: '^.*$'
    # - reg: ^.*$ 匹配所有订阅
      yaml:
        commands:
          # 在原有 MATCH 前插入自定义 MATCH 规则,如 DIRECT
          - rules.(-1)+MATCH, DIRECT
          # 删除原有的 MATCH 语句,非必要
          - rules.(-1)-

感谢👍👍

yu8349 avatar Aug 30 '22 16:08 yu8349

通过测试,可以使用如下 parser 语句完成 MATCH 的替换:

parsers: # array
    - reg: '^.*$'
    # - reg: ^.*$ 匹配所有订阅
      yaml:
        commands:
          # 在原有 MATCH 前插入自定义 MATCH 规则,如 DIRECT
          - rules.(-1)+MATCH, DIRECT
          # 删除原有的 MATCH 语句,非必要
          - rules.(-1)-

这个(-1)太牛了!连我这个不懂代码的人都觉得牛!

Ningscode avatar Sep 14 '22 10:09 Ningscode