无论格式是否正确,如何知道字符串
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';
我有这样的变量
$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';