我在网上通过关于正则表达式的示例和文档之后得出了以下代码,但是它没有按预期工作。因此,根据以下要求,只应验证'ABCDEF05','A21和'C99'。
要求:
TEST:
$arr = array('d12', '1', 'A123', 'A1234', 'AB00', 'ABCDEFG01', 'ABCDEF00', 'ABCDEF05', 'A21', 'C99');
foreach ($arr as &$key) {
if (preg_match('/^([A-Z]{1,6})([1-9][0-9]{2})/', $key)) {
echo "$key\n";
}
}
答案 0 :(得分:1)
使用否定前瞻:
if (preg_match('/^([A-Z]{1,6})(?!00)(\d\d)$/', $key)) {