filter_var с использованием FILTER_VALIDATE_REGEXP

Я практикую свои навыки начинающего php и хотел бы знать, почему этот скрипт всегда возвращает FALSE?

Что я делаю не так?

$namefields = '/[a-zA-Z\s]/'; $value = 'john'; if (!filter_var($value,FILTER_VALIDATE_REGEXP,$namefields)){ $message = 'wrong'; echo $message; }else{ $message = 'correct'; echo $message; } 

Насколько я помню, регулярное выражение должно быть в массиве опций.

$ string = "Соответствует этой строке";

 var_dump( filter_var( $string, FILTER_VALIDATE_REGEXP, array( "options" => array("regexp"=>"/^M(.*)/") ) ) ); // <-- look here 

Так же

 $namefields = '/[a-zA-Z\s]/'; 

скорее будет

 $namefields = '/[a-zA-Z\s]*/'; // alpha, space or empty string 

или

 $namefields = '/[a-zA-Z\s]+/'; // alpha or spaces, at least 1 char 

потому что с первой версией я думаю, что вы сопоставляете только односимвольные строки