我想使用 REGEX 匹配一个字符串,它遵循以下语法:
Text/number
所以我的preg_match()
功能是...
if(preg_match("/[^A-Za-z/0-9]$/ ", $folio))
$err[] = "Wrong value, it's should be lik: C/455";
但是收到错误消息...
试试这个:
$folio = "Text/15";
if(preg_match('~[a-z]/[\d]~i', $folio))
echo "match";
else
echo "no match";
您需要/
使用\
. 数字也是文本的子集,您需要将其包含在文本部分中。您需要一个或多个文本/数字字符,因此+
需要 a。
它加起来就是以下语句:
if(preg_match("/^[A-Za-z0-9]+\/[0-9]+$/", $folio))
您需要转义 / 或使用不同的字符来包围正则表达式,例如:
if(preg_match("@[^A-Za-z/0-9]$@ ", $folio))
if ( ! preg_match('/\b[a-z]+\/[0-9]+\b/i', $folio)) {
$err[] = "Wrong value, it's should be like this: C/455";
}