PHP - preg_match 仅适用于数字和单破折号

ber*_*kie 1 php regex preg-match

假设我只允许这种2015-2016包含数字和仅一个破折号的格式。我怎样才能做到这一点preg_match?我尝试了以下方法,但没有运气。

$a = '2015-2016';
if(!preg_match('/[^0-9\-]/i',$a)) {
    then return not valid data`
} 
Run Code Online (Sandbox Code Playgroud)

Nee*_*Ion 5

希望这会有所帮助

preg_match('/^\d{4}-\d{4}$/', $string);
Run Code Online (Sandbox Code Playgroud)

^字符串的开头

\d{4}匹配数字 [0-9] 正好 4 次

-匹配字符 - 字面意思

\d{4}匹配数字 [0-9] 正好 4 次

$字符串结尾