Регулярное выражение для диапазонов значений в списке, разделенном запятыми

Я хочу написать регулярное выражение, которое соответствует списку числовых значений, указанных в списке, разделенном запятыми, допустимые диапазоны. Пустые значения не допускаются.

Что-то вроде: 1-10,20-56,8,7

Пока что у меня ( ([0-9] +) | ([0-9] + - [0-9] +),) * [0-9] +. Это выполняет большую часть работы, за исключением того, что пропускается регистр только одного диапазона (например: 1-10 не будет проверяться).

Проверка для каждого диапазона может быть опущена (например: 20-10 может быть допустимым в качестве допустимого диапазона).

Любая помощь будет принята с благодарностью.

6
задан user524657 30 November 2010 в 06:07
поделиться