如何从 userContent.css 中的正则表达式中排除两个术语?

How can I exclude two terms from regex in userContent.css?

提问人:NoExpert 提问时间:10/28/2019 更新时间:10/28/2019 访问量:169

问:

我正在尝试修改我的 Google 搜索结果页面的 CSS 代码的某些方面。我是通过在Firefox中编辑我的文件来做到这一点的。userContent.css

我正在尝试修改主结果页面(https://www.google.co.uk/search?q=SSD)。

但不在图片页面 (https://www.google.co.uk/search?q=SSD&tbm=isch) 或购物搜索结果页面 (https://www.google.co.uk/search?q=SSD&tbm=shop) 上。

根据此处提供的答案,我添加了以下代码:

@-moz-document regexp('https://www\\.google\\.co\\.uk.*(?!isch|shop).*')

但排除或 似乎不起作用。ischshop

有人可以帮忙吗?

谢谢

CSS 正则表达式 时尚

评论


答:

1赞 The fourth bird 10/28/2019 #1

您的模式与这些 url 匹配,因为在匹配后,您将使用第一个匹配的 url,直到字符串末尾,因为.uk.*(?!isch|shop).*

然后断言右边的不是 isch 或 shop,这将是真的,因为所有字符都已经匹配。

一种选择是在匹配后使用否定 lookahead 来检查 url 是否不以 =isch 或 =shop 结尾,using in the negative lookahead 然后断言字符串的末尾。(?!.*=(?:isch|shop)$).uk/.*$

https://www\.google\.co\.uk/(?!.*=(?:isch|shop)$).*$

正则表达式演示

评论

1赞 NoExpert 10/29/2019
感谢您抽出宝贵时间回答和解释。这行得通。