Как отфильтровать массив php по регулярному выражению?
Да сделайте обычным перебором, хоть не особенно красиво, но работает$array=Array
(
0 => 'Куртка Waterproof-01.jpg',
1 => 'Куртка Waterproof-02.jpg',
2 => 'Куртка Waterproof-03.jpg',
3 => 'Куртка Water Mod-01.jpg',
4 => 'Куртка Water Mod-02.jpg'
);

$new = [];

foreach ($array as $el) {
	@$new[preg_replace('/[\-0-9]/i', '', $el)][] = $el;
}

echo '<pre>';
print_r($new);
echo '</pre>';
У вас в регулярке закрывающего слеша нет, она не валидна. Ну точку перед жпг нужно экранииовать.