我需要检查字符串数组的元素是否仅由a,s,d,r,t字母组成
$array=array('asc','awer','oklm');
上面的数组可能只取a,s,d或a,s,t而不是任何其他字母。请告诉我正则表达式应该是什么
答案 0 :(得分:1)
您可以使用此技巧,将数组加入字符串,然后匹配!
if(preg_match('/^[asdrt]+$/', join("", $array))){
print "ok";
}
更新:如果您想知道其中有多少是以a
preg_match_all('/(^a|(?<=\n)a)/', join("\n", $array), $m);
print count($m[0]);
答案 1 :(得分:0)
正则表达式仅适用于1个值。你应该循环数组中的每个元素,并检查它是否只由你的字母组成。正则表达式应该是^ [asdrt] + $