У регулярного выражения есть обязательный символ в строке - PullRequest
0 голосов
/ 18 февраля 2019

Мне нужно создать регулярное выражение для проверки данных для заказа на поставку.PO должен начинаться с PO и содержать от 8 до 12 символов и обязательно содержать букву, например T .Должно совпадать, если это так:

PO123T5678
PO1T34567T12
PO12345678912T

Я написал что-то подобное, но это не работает.

\^PO([a-zA-Z0-9]{6,11})(T+)(T?)$\

Ответы [ 3 ]

0 голосов
/ 18 февраля 2019

Это: ^PO(?=[0-9]*?T)[0-9T]{8,12}$, похоже, выполняет свою работу: см. DEMO .
. Он использует положительный прогноз для обеспечения T, а затем проверяет все остальное.

0 голосов
/ 18 февраля 2019

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

^PO(?=.*T)([a-zA-Z0-9]{6,10})$

DEMO

0 голосов
/ 18 февраля 2019

Try: PO(?=[1-9]*T)[1-9T]{8,12} Первый бит гарантирует, что строка начинается с PO и сопровождается некоторым числом целых чисел и T.Затем символы в следующих скобках потребуются 8-12 раз.

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