Это числовая проблема, а не строковая проблема, поэтому я боюсь, что ваше решение не лежит полностью в регулярном выражении!
Вам нужно будет проанализировать цифры и затем выполнить числовое сравнение, например ::100100
$input = whatever(); # gets something like "item[456]"
... затем сопоставьте со следующим шаблоном:
preg_match("/item\[(\d+)\]/", $input, $match);
... чтобы сохранить цифры в памяти, а затем:
if($match[1] >= 355 and $match[1] <= 502){...
чтобы проверить, находится ли число в диапазоне.