我正在尝试编写一个正则表达式来过滤数组中的非缩小JavaScript文件。
目前,以下表达式有效:
array_filter($paths, function($path) {
return preg_match('@\.js$@', $path) && !preg_match('@\.min\.js$@', $path);
});
但是,我想把它写成一个正则表达式:
preg_grep('SOME_REGEX_HERE', $paths);
答案 0 :(得分:3)
你可以使用lookbehind:
preg_match('@(?<!\.min)\.js$@', $path);
此处(?<!\.min)
为负面反馈,确保.js
只有在.min