【发布时间】:2011-07-20 08:13:18
【问题描述】:
我需要编写一个正则表达式来匹配表示逗号分隔的星期几的字符串,例如:
"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。我的问题是如何过滤掉匹配此模式的逗号起始字符串。
提前致谢。
【问题讨论】:
标签: regex string regex-negation