DrKnS wrote: $144 в контексте не является валидной группой. Откатываемся. $14 тоже. Откатываемся. $1 является, ок.
Это и есть увязка выражения замены с выражением поиска. Что мне совсем не нравится.
DrKnS wrote: Интеллекта не намного больше, чем в \d+
\d+ ни с чем не увязан, он самодостаточен.
DrKnS wrote: А замена $144 пустой строкой - тоже интеллект. Без интеллекта надо честно лезть за границу массива и честно падать.
Это не интеллект, это - простое правило. Альтернатива - выдать сообщение об ошибке.
DrKnS wrote: Если у тебя есть идеи лучше - велкам.
Либо ограничить количество групп 36-ю, то-есть $[0-9A-Z], либо - синтаксис с фигурными скобками, на котором падало.