我正在为检查字符串构建正则表达式,例如 G20003030 或 G-20003030。第一个字母可以是以下任意一个:VGJ。这是我的代码:
$string = "G20003030";
if (preg_match('^[VGJ]{1,1}?[0-9]{8,8}$/', $string)) {
echo "passed";
} else {
echo "not passed";
}
但始终返回“未通过”。我的正则表达式有什么问题以及如何检查这两个变体? (我认为我的代码仅适用于第一个)
最佳答案
Warning:
preg_match()
: No ending delimiter'^'
found in /code/xxxxxx.php on line 3
您忘记了第一个斜杠和连字符(感谢@Sepster)。
/^[VGJ]-?[0-9]{8}$/
关于php - 为什么这个正则表达式不验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12410511/