^(?:\b\d+:\d+-\d+:\d+\b(?:, )?)+$
, вероятно, будет работать;по крайней мере, это соответствует вашему примеру.Но вам может понадобиться добавить несколько крайних случаев, чтобы сделать правила сопоставления / несоответствия более понятными.
^ # Start of string
(?: # Try to match...
\b # start of a "word" (in this case, number)
\d+ # one or more digits
: # a :
\d+ # one or more digits
- # a dash
\d+ # one or more digits
: # a :
\d+ # one or more digits
\b # end of a "word"
(?:, )? # optional comma and space
)+ # repeat one or more times
$ # until the end of the string