Прег соответствует букве и номеру надежно - PullRequest
0 голосов
/ 22 мая 2018

Как сделать preg_match в PHP для строки из 2 символов, например:

1a valid
b2 valid
3c valid

11 invalid
67 invalid
ad invalid
dt invalid

Я пробовал это, но это не работает:

$string = "aa";
$result = preg_match('/^([a-z]|[0-9]){2}$/i', $string);

Этосопоставляет все вместо сопоставления, только если первым символом является буква, а затем число и наоборот.

Ответы [ 2 ]

0 голосов
/ 22 мая 2018

Менее читаем, чем ответ Роландо, но немного короче

^[\d|[a-z][\d|[a-z]$

Смотрите его в действии здесь: https://regex101.com/r/dXCDcb/4

0 голосов
/ 22 мая 2018
preg_match('/^([a-z][0-9]|[0-9][a-z])$/i', $string);
...