Вы должны полностью использовать инструмент регулярных выражений, такой как regex buddy.
Вы пытаетесь проверить, что ваша строка обычно выглядит как образец?
1, 2-3, 4..5, <6, <=7, >8, >=9
соответствует
\s*(\d+|\d+-\d+|\d+\.\.\d+|[<>]=?\d+)\s*(,\s*(\d+|\d+-\d+|\d+\.\.\d+|[<>]=?\d+)\s*)*
Проще разделить на ,
, а затем сопоставить каждую часть с
\s*(\d+|\d+-\d+|\d+\.\.\d+|[<>]=?\d+)\s*
Это гласит:
пробел урезан, соответствует цифрам или цифрам, тире, или цифрам, точкам, точкам, или одной из цифр меньше или больше с необязательным, равным цифрам.
Вы можете сжать это до более трудного для чтения:
\s*((\d+(-|\.\.)|[<>]=?)?\d+)\s*
Если вы хотите, чтобы все ваши цифры были только 1-2 цифрами, измените все \d+
на \d{1,2}
или \d\d?