我试图找出RegExp用于DOW条目的可选重复模式 我希望支持的模式示例如下:
MON
MON,TUE
TUE,WED,THU
FRI,SAT,SUN,MON
最多可能包括本周的所有日期
基本上每个DOW为3个字符 - 必须是3个字符(但不仅限于 MON,TUE,WED 等。可能是任何3个AZ字符)。
如果输入了多个DOW,则用逗号分隔,不带尾随逗号。
我尝试了各种可能的选择,但我似乎无法做到这一点。
非常感谢您的帮助/建议 感谢
答案 0 :(得分:1)
如果您正在寻找与逗号分隔的3个字母(大写)序列字符串匹配的模式,您可以使用基于分组机制的模式并使用限制量词{3}
来完全匹配3个字母:
^[A-Z]{3}(?:,[A-Z]{3})*$
请参阅demo
^
- 开始o [A-Z]{3}
- 正好是3个字母(?:,[A-Z]{3})*
- 0个或更多组(由于*
)逗号后跟3个字母的序列$
- 字符串结尾如果您需要匹配确切的字母序列,则需要使用交替运算符|
。例如,仅匹配DOW:
^(?:MON|TUE|WED|THU|FRI|SAT|SUN)(?:,(?:MON|TUE|WED|THU|FRI|SAT|SUN))*$