2015-04-08 6 views
-4

мне нужно выражение какРегулярное выражение для _ и #

  1. принимают только из 6 символов
  2. цифр и буквенно-цифровые позволяют как (ABCDEF или 123456)
  3. _ (разрешить только на 2 и 3 позиции) и только 2 подчеркивания позволяют. Нравится (1__456)
  4. # (допускается только в положении 3 и 4) и допускается только 2 хэша. Like (12 ## 56)
  5. И _ и # не придут в одно и то же время. Как (1 _ ## 45 не допускаются)
+0

(Также, честно говоря, это не очень хорошая проблема для регулярного выражения. Вместо этого попробуйте провести небольшую серию тестов правил (или ряда регулярных выражений).) – nneonneo

ответ

0

Там может быть чище способ сделать это, но это работает для меня:

^([a-zA-Z0-9]{6})|([a-zA-Z0-9]\_{2}[a-zA-Z0-9]{3})|([a-zA-Z0-9]{2}\#{2}[a-zA-Z0-9]{2})$ 
0

Следующий монстр регулярное выражение должно сделать трюк: -

^([0-9A-Z][_0-9A-Z]{2}[0-9A-Z]{3})$|([0-9A-Z]{2}[#0-9A-Z]{2}[0-9A-Z]{2})$ 
Смежные вопросы