使用正则表达式匹配数组中不包含任何内容的所有内容

时间:2018-06-04 12:27:43

标签: regex

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

^((?!(\.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表达更好吗?

1 个答案:

答案 0 :(得分:1)

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

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

请参阅regex demo