PHP Regex сопоставляет 4 цифры и 2 буквы в случайном порядке - PullRequest
0 голосов
/ 04 марта 2019

Я пытаюсь создать регулярное выражение, которое будет соответствовать 4 цифрам и 2 буквам в любом порядке.Буквы могут быть в нижнем и верхнем регистре.

Пример:

a1234B
17AF45
aR1307

Буду признателен за любой совет.Спасибо.

1 Ответ

0 голосов
/ 04 марта 2019

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

^(?=.*[A-Za-z].*[A-Za-z])(?=.*\d.*\d.*\d.*\d).{6}$

Это будет соответствовать ровно двум буквам, строчным или прописным, и четырем цифрам, в общей сложности шесть символов.

Демо

Для более глубокого объяснения рассмотрим первый взгляд:

^(?=.*[A-Za-z].*[A-Za-z])

Это говорит о утверждении (но не совпадает) с начала строки, что две буквы встречаются в любом месте строки.Если предположить, что это так, то механизм регулярных выражений оценит следующий запрос, который проверяет четыре числа.Если это также верно, то все, что нужно, это сопоставить любые 6 символов.Эти совпадающие символы должны состоять только из букв и цифр из-за подозрительных взглядов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...