<?php
$strings = [
"a1a2a3a4aaaa",
"a3333aaaaaaa",
"a1a2a3aaaaa2",
"a1a2a3",
"a222",
"aaaa",
"a2aa",
"f2fdfgdd",
"w333rrrrrrr4",
"rrrrrrrr4444",
"r22rrrrrrrrr",
"g4fff333ffff",
"333333333333",
"1111",
"1aaa",
"1aaaaaaaaaaa",
"1a2aaaaaaaaa",
"a1aaaaaaaaaaa",
"a11111aaaaaa",
"a122a3aaaaa2",
"a1a2a3a4a5aa"
];
$pattern = "/^[a-z](?=(?:[a-z]*\d){0,4}(?![a-z]*\d))(?=[a-z\d]{3,11}$)[a-z\d]+$/";
foreach ($strings as $string) {
echo $string . " ==> " . preg_match($pattern, $string) . PHP_EOL;
}
preferences:
24.46 ms | 404 KiB | 5 Q