PHP正则表达式匹配这三个字符串

时间:2010-08-17 23:36:56

标签: php regex

我需要检查是否有任何字符串遵循与这些相同的格式。

Val-Pak
*Client Referral*
Gift Certificate

需要在正则表达式中完成。我找不到如何包含*和 - 。

由于

3 个答案:

答案 0 :(得分:0)

查看this site有关如何编写正则表达式(正则表达式)的信息,它会介绍如何转义*和 -

之类的字符

答案 1 :(得分:0)

快速回答是你用反斜杠逃避它们:

/Val\-Pak/

/\*Client\sReferral\*/

/Gift\sCertificate/

但是阅读一些正则表达式教程可能会有所帮助,因为从长远来看,了解大局将对您有所帮助。

答案 2 :(得分:0)

preg_grep('/Val-Pak|\*Client Referral\*|Gift Certificate/', $myArray);

preg_grep过滤字符串数组,只返回包含您提到的字符串之一的字符串。如果您只需要检查一个字符串,那么preg_match就可以了。

如果你需要转义任意字符串以包含在正则表达式模式中,那么preg_quote就派上用场了。

在任何情况下,星号*都是正则表达式中的特殊字符,需要使用\进行转义。