siftrss 的正则表达式过滤规则怎么用?
siftrss 的正则过滤使用 Perl 兼容正则表达式(PCRE),写法是 /表达式/修饰符。它默认做部分匹配,不需要在两端加 .*;如果希望忽略大小写,在结尾斜杠后加 i,例如 /hick/i 可以匹配 "cHiCkEn"。普通关键词过滤不需要加引号,加了引号反而会要求内容里真的包含引号。
正则表达式在 siftrss 里怎么写
siftrss 的过滤条件需要先选择要检查的字段(title、description、link),再选择匹配方式(contains、does not contain、matches regex、does not match regex、exists、does not exist)。只有选择 matches regex 或 does not match regex 时,才需要写正则表达式。
正则表达式的基本格式:
/表达式/修饰符
例如:
| 写法 | 含义 |
|---|---|
/conx?/ |
部分匹配,可匹配 "Wisconsin" |
/(na){2}/ |
部分匹配,可匹配 "bananas" |
/hick/i |
忽略大小写,可匹配 "cHiCkEn" |
几个关键点:
- 部分匹配是默认行为:
/conx?/能匹配 "Wisconsin",因为正则引擎会在字符串中寻找符合模式的部分,而不是要求整段完全一致。 - 修饰符写在结尾斜杠之后:
i表示不区分大小写。如果不确定,加上i通常更稳妥。 - 不需要额外加引号:过滤框里的内容本身就是精确匹配搜索,只有当你确实希望内容包含引号字符时,才需要写引号。
常见卡点
- 把普通关键词当正则写:如果只是想过滤包含某个词的条目,用
contains就够了,不必写正则。 - 忘记加
i导致漏匹配:/hick/不会匹配 "cHiCkEn",而/hick/i会。 - 误以为要写完整匹配:PCRE 默认是部分匹配,不需要在两端补
.*。 - 在不需要引号的地方加引号:加引号会让过滤条件变成"内容里必须包含引号",容易过滤掉本来想保留的条目。
操作步骤
- 在 siftrss 首页输入 RSS 或 Atom 订阅源的 URL。
- 选择要过滤的字段:title、description 或 link。
- 选择匹配方式,正则相关选
matches regex或does not match regex。 - 按
/表达式/修饰符的格式填写正则,例如/hick/i。 - 生成新的订阅链接,用这个链接订阅,就只会看到符合过滤条件的条目。
如果对正则不熟悉,先用 contains 做简单关键词过滤;需要更灵活的模式匹配时再改用正则,并优先加上 i 修饰符。