2016-04-05 5 views
2

У меня возникают проблемы, выяснить, как написать регулярное выражение для соответствия ряда (технически строку) со следующими правилами:Regex чтобы соответствовать определенному формату номер

  • все числовые
  • должно быть ровно 11 цифр
  • он должен начать с по крайней мере 2 нулей
  • она не может начинаться с более чем 4 нулей

можно использовать \d{11}, чтобы соответствовать точно 11 цифрам, и ^0{2,4], чтобы соответствовать ведущей нулевой части, но я не могу понять, как их объединить.

ответ

3
^00(?!000)\d{9}$ 

Он проверяет наличие двух нулей и затем проверяет, что после него осталось не более 2 0.
Если он не проверяет остальные 9 номеров до конца строки.

Это предполагает, что ваш двигатель поддерживает взгляды.

+0

Да, это работает отлично. благодаря! –

+0

Я включил версию без поисковых запросов, которая должна быть быстрее. –

+0

Редактирование фактически не соответствует '00110111111' –