Ashish Mishra Ashish Mishra - 1 year ago 62
Javascript Question

regex match extension but exclude a specific file

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.

Answer Source

|!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.

Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download