Рассмотрим M, T, W, TH, F, S, SU - дни недели.Матч ровно в одном случае с регулярным выражением
У меня есть регулярное выражение, которое работает хорошо для одного сценария, за исключением, когда нет последовательности дней недели, т.е. нет M
, T
, W
, TH
, F
, S
, SU
в ожидаемом месте внутри строки.
Например, q10MT
действителен, но q10HT
недействителен.
Ниже мое выражение:
string expression = "q(\\d*)(M)?(T(?!H))?(W)?(TH)?(F)?(S(?!U))?(SU)?";
В случае q10MT
, выход q10MT
, который является правильным, но в случае q10HT
выход q10
что неправильно, мой регулярное выражение не должно возвращать никакого значения или пустые если совпадение отсутствует.
Какие изменения необходимо внести для достижения этой цели?
К сожалению, совершенно бесполезный комментарий, но я должен сказать, что я любил '(W)? (TH)? (F) 'part :-) – Konamiman
Это требование, чтобы дни были в порядке? IE должен включать «T» в захваченную «q10MWT»? – Taemyr
Как насчет выражения типа 'q10MTHSSUT', которое пропускает дни и распространяется на следующую неделю. Это законно? Что вы ожидаете отсюда? – holroy