我正在为检查字符串构建一个正则表达式,如G20003030或G-0003030。第一个字母可以是以下任意一个:VGJ。这是我的代码:
$string = "G20003030";
if (preg_match('^[VGJ]{1,1}?[0-9]{8,8}$/', $string)) {
echo "passed";
} else {
echo "not passed";
}
但它总是返回"未通过"。我的正则表达式出了什么问题,如何检查这两个变体?(我认为我的代码只适用于第一个)
警告:
preg_match()
:在第3行的/code/xxxxxxx.php中找不到结束分隔符'^'
您忘记了第一个斜线和连字符(感谢@Sepster)。
/^[VGJ]-?[0-9]{8}$/
尝试使用此正则表达式:
/^[VGJ]-?[0-9]{8}$/