0

我想使用 REGEX 匹配一个字符串,它遵循以下语法:

Text/number

所以我的preg_match()功能是...

if(preg_match("/[^A-Za-z/0-9]$/ ", $folio))
$err[] = "Wrong value, it's should be lik: C/455";

但是收到错误消息...

4

4 回答 4

1

试试这个:

$folio = "Text/15";
if(preg_match('~[a-z]/[\d]~i', $folio))
    echo "match";
else
    echo "no match";
于 2012-05-30T11:30:41.483 回答
1

您需要/使用\. 数字也是文本的子集,您需要将其包含在文本部分中。您需要一个或多个文本/数字字符,因此+需要 a。

它加起来就是以下语句:

if(preg_match("/^[A-Za-z0-9]+\/[0-9]+$/", $folio))
于 2012-05-30T11:33:33.127 回答
0

您需要转义 / 或使用不同的字符来包围正则表达式,例如:

if(preg_match("@[^A-Za-z/0-9]$@ ", $folio))
于 2012-05-30T11:32:20.173 回答
-1
if ( ! preg_match('/\b[a-z]+\/[0-9]+\b/i', $folio)) {
  $err[] = "Wrong value, it's should be like this: C/455";
}
于 2012-05-30T11:33:59.210 回答