php - 为什么这个正则表达式不验证

标签 php regex

我正在为检查字符串构建正则表达式,例如 G20003030G-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/

相关文章:

java - 如何在java正则表达式中以非贪婪方式跨多行提取?

javascript - 用于 url 验证的正则表达式(未终止的括号错误)

正则表达式不够贪婪

php - 按月排序

php - 如何在 Laravel 中将 INFO 记录到单独的文件中

java - PHP:SoapClient 构造函数非常慢(需要 3 分钟)

javascript - (Wordpress/AJAX) : Update attachment title, 来自前端的描述和替代

php - 如何在 PHP 中动态调整图像大小

python - 正则表达式为什么 `findall` 什么也找不到,但 `search` 有效?

regex - 检查 URL 协议(protocol)的正则表达式