首页 > 解决方案 > 使用正则表达式匹配数组中不包含任何内容的所有内容

问题描述

我有以下正则表达式查询,我试图使用它来排除资产被缓存:

^((?!(\.css|\.js|\.|\.json|\.xml|\.svg|\.ico|\.png|\.mp3|\.jpg|\.svg|\.woff|\.woff2|\.eot|\.ttf|\/api\/play\/add|\/api\/favorite|\/Listen\/channel|getAccountInfo)).)*$

除了由于某种原因它与https://exampl.com/home不匹配。有谁知道我该如何解决这个问题?另外,无论如何我可以使正则表达式更好吗?

标签: regex

解决方案


您的正则表达式包含|\.|一部分(在 之后|\.js)。该替代方案使您的正则表达式无法与任何包含点的字符串匹配。您需要删除该替代方案:

^((?!(\.css|\.js|\.json|\.xml|\.svg|\.ico|\.png|\.mp3|\.jpg|\.svg|\.woff|\.woff2|\.eot|\.ttf|\/api\/play\/add|\/api\/favorite|\/Listen\/channel|getAccountInfo)).)*$

查看正则表达式演示


推荐阅读