preg_match for string - string

时间:2014-03-18 15:41:49

标签: php arrays preg-match

说我有一个数组:

$length =['pre-tied','self-tie','large','small'];

preg_match命令如何显示如果我想得到' string-string'的值来自特定数组的格式?

foreach($length as $size)
 if(preg_match("/^[A-Z,-,A-Z]$/i",$size))
    do something

foreach($length as $size)
 if(preg_match("/^[A-Z,-,A-Z]$/i",$size));
    do something

实际上,我认为第二个甚至没有意义,但由于我不熟悉正则表达式,我无法确定..

1 个答案:

答案 0 :(得分:1)

在接近正则表达式时,我解决这些问题的方式是从非常具体的模式开始,并使其非常通用。

最简单的匹配:

 /^pre-tied$/

匹配预先绑定的电子邮件

 /^[A-Za-z]-[A-Za-z]$/

然后,如果您尝试匹配单连字词,请使用其中一个重复运算符(+,*)

 /^[A-Za-z]+-[A-Za-z]+$/

我们甚至可以使正则表达式更复杂,就像在similar question中一样,但我认为我想出的最终正则表达式应匹配该数组中的两个单词。