最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

javascript - regex match extension but exclude a specific file - Stack Overflow

programmeradmin2浏览0评论

I am in webpack.config where I need to include extension to match specific file type, but I need to exclude a specific file. I googled it but didn't find a perfect solution.

What I have : /\.(?:css|less)$/ -> matches all files that have .less OR .css but here I want to add "not only -> test.something_strict.less" /\.(?:css|less|!test.less)$/ where test.something_strict is a file name with extension .less and only exclude test.something_strict

but this didn't work, this matches .less or .css and pass through the test.

I am in webpack.config where I need to include extension to match specific file type, but I need to exclude a specific file. I googled it but didn't find a perfect solution.

What I have : /\.(?:css|less)$/ -> matches all files that have .less OR .css but here I want to add "not only -> test.something_strict.less" /\.(?:css|less|!test.less)$/ where test.something_strict is a file name with extension .less and only exclude test.something_strict

but this didn't work, this matches .less or .css and pass through the test.

Share Improve this question edited May 22, 2017 at 20:12 Ash asked May 22, 2017 at 19:45 AshAsh 1,42015 silver badges32 bronze badges 8
  • 1 I don't fully understand your specifications. But based on your info is this okay? – Rahul Commented May 22, 2017 at 19:50
  • @Rahul, you get me right. – Ash Commented May 22, 2017 at 19:54
  • Too late to post answer though. ☺☻ – Rahul Commented May 22, 2017 at 19:55
  • @Rahul, you can post it, as an alternative. – Ash Commented May 22, 2017 at 19:55
  • 1 @AshishMishra: Your new specification is totally different from previous one. – Rahul Commented May 22, 2017 at 20:00
 |  Show 3 more ments

1 Answer 1

Reset to default 7

|!test.less doesn't really negate matching test.less. It will literally match ! before test.less.

You can use this regex:

/^(?!test\.[^.]+\.less$).+\.(?:css|less)$/m

RegEx Demo

(?!test\.less$) is a negative lookahead that will assert failure if filename is test.<anything>.less.

发布评论

评论列表(0)

  1. 暂无评论