指定起始端时正则表达式不匹配

时间:2015-11-05 12:00:14

标签: php regex laravel laravel-5

我在PHP中有以下正则表达式

/^(\d{4}-(\d{4})?)$/

我希望只匹配一个像这样的字符串

1998-
1998-2015

我在laravel验证中使用它如此:

'release_year' => 'required|regex:/^(\d{4}-(\d{4})?)$/'

其他任何内容都不应该匹配,数字应该是4位数字。但它似乎没有起作用。

1 个答案:

答案 0 :(得分:0)

在Laravel文档中:

  

regex:pattern

     

验证字段必须与给定的正则表达式匹配。

     

注意:使用正则表达式时,可能需要指定   数组中的规则而不是使用管道分隔符,尤其是在   正则表达式包含管道符。

试试这个:

'release_year' => array('required', 'regex:/^(\d{4}-(\d{4})?)$/')