You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

需求:编写正则表达式匹配含Jack和1080p且排除Highlights的字符串

正则表达式解决方案:匹配含Jack和1080p且不含Highlights的字符串

需求说明

需要匹配同时包含Jack和1080p(顺序不限)、但不包含Highlights的字符串,目标匹配以下文本中的第1、3、5行:

Movie - Jack v John - 1080p
Movie - Jack v John - Highlights - 1080p
Movie - John v Jack - 1080p
Movie - John v Jack - Highlights - 1080p
Movie - 1080p - John v Jack
Movie - Highlights - 1080p - John v Jack

问题分析

之前尝试的正则存在核心逻辑错误:

  • Jack.[^Highlights]*1080p:[^Highlights]是排除单个字符,而非整个Highlights单词,无法实现排除目标
  • /[Highlights]\|(Jack.*1080p):语法混乱,未正确构建排除+匹配的逻辑
  • Jack.*1080p^((?!Highlights).)*$、Jack.^((?!Highlights).)*1080p:排除逻辑的正则位置错误,无法覆盖整行检查

正确正则表达式

^(?!.*Highlights).*(Jack.*1080p|1080p.*Jack)$

正则解释

  • ^(?!.*Highlights):从行首启动负向预查,确保整行完全不包含Highlights字符串
  • .*(Jack.*1080p|1080p.*Jack):覆盖两种关键词顺序的匹配:
    • Jack.*1080p:匹配Jack在前、1080p在后的内容,中间可接任意字符
    • 1080p.*Jack:匹配1080p在前、Jack在后的内容,中间可接任意字符
  • 前后的.*用来匹配关键词之外的任意内容,适配所有位置场景

使用说明

在siftrss.com中直接输入上述正则即可,无需添加正则分隔符(如/)。

内容的提问来源于stack exchange,提问作者John Simon

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.12 16:45:00