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

如何编写正则匹配所有anystring/css/并排除vendor/css/

解决方案

正确正则表达式

要匹配所有anystring/css/格式的字符串并排除vendor/css/,可以使用负向前瞻断言实现,正则如下:

^(?!vendor\/css\/).+\/css\/$

如果你的场景中只需排除以vendor开头的行(即只要开头不是vendor,后续是/css/就匹配),也可以简化为:

^(?!vendor).+\/css\/$

正则说明

  • ^:匹配每行的开头(需开启多行模式,如JS的m修饰符、Python的re.MULTILINE)
  • (?!vendor\/css\/):负向前瞻,确保当前位置后不是vendor/css/,直接排除目标字符串
  • .+:匹配任意非换行的1个及以上字符(对应anystring部分)
  • \/css\/:匹配固定后缀/css/(/是正则特殊字符,需用\转义)
  • $:匹配每行的结尾

原正则问题分析

你写的\b[^(vendor)].+\/css\/存在逻辑错误:

  • [^(vendor)]是字符集合,它仅匹配一个**不属于(、v、e、n、d、o、r、)**的单个字符,而非排除整个vendor单词
  • 这导致它只能排除第一个字符是v/e/n/d/o/r/(/)的行,但无法从语义上排除整个vendor/css/字符串,因此出现部分排除失败的情况

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 01:02:13