Мне нужно написать регулярное выражение, соответствующее строкам, представляющим дни недели через запятую, например:
"Sun,Mon,Tue,Wed,Thu,Fri,Sat"
Каждый день может появляться в строке не более одного раза. Порядок дней важен.
До сих пор я пробовал следующие шаблоны:
1) (Sun,|Mon,|Tue,|Wed,|Thu,|Fri,|Sat,)*(Sun|Mon|Tue|Wed|Thu|Fri|Sat)
Это очень плохо: допускает многократное присутствие дней, а также не следит за порядком дней.
2) (Sun)?([,^]Mon)?([,^]Tue)?([,^]Wed)?([,^]Thu)?([,^]Fri)?([,^]Sat)?
Это лучшее, что я получил до сих пор. Единственная проблема здесь состоит в том, что она соответствует строкам, начинающимся с запятой, например, ,Mon,Tue,Fri
. Мой вопрос заключается в том, как отфильтровать начальную строку запятой, соответствующую этому шаблону.
Заранее спасибо.