私は正規表現が初めてで、一致するコード行を記述しようとしました
- 文字列は数字で始めるべきではありません。( わかった )
- 文字列には、アルファ、数字、ダッシュ、およびアンダースコアのみを含める必要があります。( わかった )
- 文字列の長さは 5 から 25 の間でなければなりません ( FAIL )
ルール 1 と 2 は正しく機能しますが、ルール 3 は機能しません。
それを修正するための助けはありますか?
これは私のコードです:
$arr = [
'-foobar',
'foobar',
'32-xx',
'xx23',
'A2l',
'2aAA',
'_a2d',
'-A22',
'-34x',
'2--a',
'a--a-'
];
foreach( $arr as $a ){
echo check( $a );
}
function check($string){
if (preg_match("/^[a-zA-Z]+([a-zA-Z0-9_-]?){5,25}$/", $string)) {
return "$string ---------------> match was found.<br />";
} else {
return "$string ---------------> match was not found.<br />";
}
}