正则屏蔽功能无法实现多个标签的交集匹配
p.s.以下来自chatgpt,我不太会很具体地描述这个问题,于是找了个嘴替。 意思是达到的。
您好,我在使用PixEz的正则屏蔽功能时遇到了一个问题。我希望能够通过正则表达式屏蔽同时具有“标签1”和“标签2”标签的插画,但目前的功能似乎只支持单一标签的匹配,无法做到多个标签的交集匹配。
复现步骤:
在标签屏蔽中分别输入:
r'^(?=.*标签1)(?=.标签2).'
r'^.*标签1.标签2.$|^.*标签2.标签1.$'
但都没起效。
目前的正则引擎似乎只在每个标签独立存在的情况下生效,无法实现**“只有同时包含标签1和标签2才屏蔽”**的逻辑。
建议的解决方案:
如果可能的话,可以考虑在正则引擎中实现支持多个条件的交集匹配,例如:
添加支持“正向先行断言”(Lookahead)等正则特性,使得正则可以判断多个条件同时满足。
或者,考虑在标签匹配时,将标签组合成一个字符串,然后应用正则匹配。
例如,正则可以是:
r'^(?=.*标签1)(?=.标签2).'
这样,当标签1和标签2都出现在同一条插画中时,才会进行屏蔽。
感谢您对PixEz的持续开发与支持,期待能够看到更强大的正则功能。
please
将标签组合成一个字符串,然后应用正则匹配感觉是简单能做的,下个版本看看能不能加上
将标签组合成一个字符串,然后应用正则匹配感觉是简单能做的,下个版本看看能不能加上
顺带求多给几个例子 比如tag要不要带# tag之间的连接符 tag直接有没有空格 这些都是蒙出来的
https://github.com/Notsfsssf/pixez-flutter/blob/f8a5f2cfba64b2a7910121aa9129a09aa7e633e1/lib/exts.dart#L112 可以看一下实现的地方,目前咱切实全用#tag#tag1这样加一起