pixez-flutter icon indicating copy to clipboard operation
pixez-flutter copied to clipboard

正则屏蔽功能无法实现多个标签的交集匹配

Open Wedingming opened this issue 7 months ago • 4 comments

p.s.以下来自chatgpt,我不太会很具体地描述这个问题,于是找了个嘴替。 意思是达到的。

您好,我在使用PixEz的正则屏蔽功能时遇到了一个问题。我希望能够通过正则表达式屏蔽同时具有“标签1”和“标签2”标签的插画,但目前的功能似乎只支持单一标签的匹配,无法做到多个标签的交集匹配。

复现步骤:

在标签屏蔽中分别输入:

r'^(?=.*标签1)(?=.标签2).'

r'^.*标签1.标签2.$|^.*标签2.标签1.$'

但都没起效。

目前的正则引擎似乎只在每个标签独立存在的情况下生效,无法实现**“只有同时包含标签1和标签2才屏蔽”**的逻辑。

建议的解决方案:

如果可能的话,可以考虑在正则引擎中实现支持多个条件的交集匹配,例如:

添加支持“正向先行断言”(Lookahead)等正则特性,使得正则可以判断多个条件同时满足。

或者,考虑在标签匹配时,将标签组合成一个字符串,然后应用正则匹配。

例如,正则可以是:

r'^(?=.*标签1)(?=.标签2).'

这样,当标签1和标签2都出现在同一条插画中时,才会进行屏蔽。

感谢您对PixEz的持续开发与支持,期待能够看到更强大的正则功能。

Wedingming avatar Apr 27 '25 19:04 Wedingming

please

Wedingming avatar Apr 28 '25 16:04 Wedingming

将标签组合成一个字符串,然后应用正则匹配感觉是简单能做的,下个版本看看能不能加上

Notsfsssf avatar Apr 30 '25 15:04 Notsfsssf

将标签组合成一个字符串,然后应用正则匹配感觉是简单能做的,下个版本看看能不能加上

顺带求多给几个例子 比如tag要不要带# tag之间的连接符 tag直接有没有空格 这些都是蒙出来的

Wedingming avatar May 01 '25 16:05 Wedingming

https://github.com/Notsfsssf/pixez-flutter/blob/f8a5f2cfba64b2a7910121aa9129a09aa7e633e1/lib/exts.dart#L112 可以看一下实现的地方,目前咱切实全用#tag#tag1这样加一起

Notsfsssf avatar May 05 '25 12:05 Notsfsssf