2015-08-17 4 views
1

Я хочу написать регулярное выражение с условием:Regex с repetative комбинации

  1. начало и конец с 123456 (5-7-значный номер) или CR-00000(CR-10 любых цифр нет)
  2. Можно выделить только два числа и пробел. 3) эта проверка будет repetative в природе ..

Я уже писал, но это соответствует только первые два не повторяющимся образом:

([cC][rR][0-9]{10}|[0-9]{5,7})[,][ ][0-9]{5,7}$|([cC][R][0-9]{10}|[0-9]{5,7})?[,][ ][cC][rR][0-9]{10}$|([cC][rR][0-9]{10})|([0-9]{5,7}) 

Это соответствует только две комбинации:

123456, CR1234567890 
123456, 123456 

Но

123456, 123456, 123456 не работает.

Заранее благодарен

+0

Что такое регулярное выражение вкус? Можете ли вы использовать модификатор 'i', чтобы сделать шаблон нечувствительным к регистру? –

ответ

0

Измените свое регулярное выражение, как показано ниже.

^(?:[cC][rR][0-9]{10}|[0-9]{5,7})(?:, (?:[cC][rR][0-9]{10}|[0-9]{5,7}))+$ 

Если вы хотите, чтобы точно соответствовать ONW слово, то изменить + в выше *.

^(?:[cC][rR][0-9]{10}|[0-9]{5,7})(?:, (?:[cC][rR][0-9]{10}|[0-9]{5,7}))*$ 

DEMO

Смежные вопросы