未知修饰符'('使用带有REGEX表达式的preg_match()时

ude*_*ter 4 php regex

我正在尝试使用preg_match()使用PHP验证DD/MM/YYYY等日期.这是我的REGEX表达式的样子:

$pattern = "/^([123]0|[012][1-9]|31)/(0[1-9]|1[012])/(19[0-9]{2}|2[0-9]{3})$/";
Run Code Online (Sandbox Code Playgroud)

但是使用正确的值,我得到这样的信息:

preg_match():未知的修饰符'('

完整代码:

    $pattern = "/^([123]0|[012][1-9]|31)/(0[1-9]|1[012])/(19[0-9]{2}|2[0-9]{3})$/";
    $date = "01/03/2011";

    if(preg_match($pattern, $date)) return TRUE;
Run Code Online (Sandbox Code Playgroud)

先感谢您

Del*_*ani 12

/将表达式中的字符转义为\/.

$pattern = "/^([123]0|[012][1-9]|31)\/(0[1-9]|1[012])\/(19[0-9]{2}|2[0-9]{3})$/";
Run Code Online (Sandbox Code Playgroud)

正如其他答案所指出的那样,使用另一个未在表达式中使用的分隔符看起来更好,例如~避免"倾斜牙签"效应使其难以阅读.