无论格式是否正确,如何知道字符串

How to know string regardless of proper format

我有这样的变量

$string = "Hello World";

我想比较它的正确格式:

$formatstring = 'anystringornumber/anystringornumber/anystringornumber/anystringornumber/number';

这是我的 PHP 用法:

$key = "Kode Parkir 1/01012015/Shift1/Suhendra/25000";
$regex = '^[A-Za-z]/[A-Za-z]/[A-Za-z]/[A-Za-z]/[0-9]^';
if (preg_match($regex, $key)) {
    echo 'Passed';
} else {
    echo 'Wrong key';
}

结果总是Wrong Key

您想匹配字母数字字符(字母和数字),但没有在正则表达式中添加数字。您还错过了 + 来匹配多个字符。其次,不要使用 ^ 来包含模式。它在正则表达式中用作特殊字符,表示字符串的开头。您可以改用 #。像这样:

$regex = '#[A-Za-z0-9]+/[A-Za-z0-9]+/[A-Za-z0-9]+/[A-Za-z0-9]+/[0-9]+#';

但是如果你想使用 ^$ 的特殊含义,它将是这样的:

$regex = '#^[A-Za-z0-9]+/[A-Za-z0-9]+/[A-Za-z0-9]+/[A-Za-z0-9]+/[0-9]+$#';

您的 regex 不正确,请使用

$regex = '~[a-z\d]+/[a-z\d]+/[a-z\d]+/[a-z\d]+/[\d]+~i';

Demo