Регулярное выражение PHP для соответствия этим трем строкам - PullRequest
0 голосов
/ 18 августа 2010

Мне нужно проверить, соответствуют ли строки тем же форматам, что и эти.

Val-Pak
*Client Referral*
Gift Certificate

Это нужно сделать в регулярном выражении.Я не могу найти, как включить * и -.

Спасибо

Ответы [ 3 ]

0 голосов
/ 18 августа 2010

Быстрый ответ: вы избегаете их с обратной косой чертой:

/Val\-Pak/

/\*Client\sReferral\*/

/Gift\sCertificate/

Но это может помочь прочитать некоторые учебники по регулярным выражениям, потому что понимание общей картины поможет вам в долгосрочной перспективе.

0 голосов
/ 18 августа 2010
preg_grep('/Val-Pak|\*Client Referral\*|Gift Certificate/', $myArray);

preg_grep фильтрует массив строк и возвращает только те, которые содержат одну из упомянутых вами строк. Если вам нужно проверить только одну строку, то подойдет preg_match.

Если вам нужно экранировать произвольные строки для включения в шаблон регулярного выражения, тогда вам пригодится preg_quote.

В любом случае, звездочка * является специальным символом в регулярных выражениях и должна быть экранирована с помощью \.

0 голосов
/ 18 августа 2010

Проверьте на этом сайте для получения информации о том, как писать регулярные выражения (Regex), в нем рассказывается, как экранировать символы, такие как * и -

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...