Регулярное выражение для 3-значного числа без 000


Я хочу написать регулярное выражение в форме Google

Первый символ между 1 и 9 Второй и третий любые алфавиты (верхний регистр) и следующие 3 символа должны быть числом, как 541 или 001, но не 000

Это выражение также принимает 000

[1-9][A-Z]{2}[0-9]{3}
3 2

3 ответа:

Используйте чередования:

[1-9][A-Z]{2}([1-9][0-9][0-9]|[0-9][1-9][0-9]|[0-9][0-9][1-9])

Смотрите демонстрацию регулярных выражений

Здесь,

  • [1-9] - соответствует 1 цифре из 1 в 9
  • [A-Z]{2} - две прописные буквы ASCII
  • ([1-9][0-9][0-9]|[0-9][1-9][0-9]|[0-9][0-9][1-9]) - 3 альтернативы:
    • [1-9][0-9][0-9] - 3-значные числа, начинающиеся с 1
    • [0-9][1-9][0-9] - 3-значные числа, имеющие 1 в середине
    • [0-9][0-9][1-9] - 3-значные числа, заканчивающиеся на 1

Введите описание изображения здесь

Также, смотритеэту демонстрацию регулярных выражений .

Используйте отрицательный взгляд вперед, чтобы избежать тройного нуля в конце:

[1-9][A-Z]{2}(?!000)[0-9]{3}

Использование оператора чередования [1-9][1-9][1-9]|0[1-9][1-9]|00[1-9]|0[1-9]0