用于检查字符串数组的正则表达式

时间:2014-02-27 12:57:17

标签: php regex

我需要检查字符串数组的元素是否仅由a,s,d,r,t字母组成

 $array=array('asc','awer','oklm');

上面的数组可能只取a,s,d或a,s,t而不是任何其他字母。请告诉我正则表达式应该是什么

2 个答案:

答案 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] + $