Как проверить строку только с конкретной буквы и цифры? - PullRequest
4 голосов
/ 15 октября 2019

Я хочу проверить строку, содержащую символы A, B. X & Y. Символ A & B должен следовать за номером, но X, Y не должно быть.

// correct 
"A11X",
"A45YA1X",
"A1XXA999YYA1",

// Not correct
"A1A1AAX12",
"1A1Y32A1",
"CA1A1",
"A1C1",

Я использую следующую команду регулярного выражения.

$flags = PREG_SET_ORDER;
        preg_match_all('/A|B(\d+)|.+/i', trim($command), $operations, $flags);

Если строка правильная, онадолжен вернуть true, в противном случае он должен вернуть сообщение об ошибке.

1 Ответ

4 голосов
/ 15 октября 2019

Вы можете использовать это регулярное выражение:

^(?:[AB]\d+|[XY])+$

Демонстрация RegEx

  • Это регулярное выражение использует группу без захвата, которая соответствует букве A или B, за которыми следуют 1+ цифр или с использованием букв чередования X или Y.

  • Эта группа повторяется 1 или более раз, чтобы разрешить повторения этого подшаблона во всей строке.

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