PHP: preg_match – «Разделитель не должен быть буквенно-цифровым или обратным слэшем»

Кто-нибудь знает, что не так с этим регулярным выражением? Он отлично работает на таких сайтах, как RegexPal и RegExr, но на PHP он дает мне это предупреждение и никаких результатов:

Warning: preg_match() [function.preg-match]: Delimiter must not be alphanumeric or backslash 

Вот мой код:

 preg_match('name="dsh" id="dsh" value="(.*?)"', 'name="dsh" id="dsh" value="123"', $matches); 

Related of "PHP: preg_match – «Разделитель не должен быть буквенно-цифровым или обратным слэшем»"

У вас нет разделителя. Включите шаблон в /

 preg_match('/name="dsh" id="dsh" value="(.*?)"/', 'name="dsh" id="dsh" value="123"', $matches); 

Для шаблонов, которые включают / сами по себе, рекомендуется использовать другой разделитель типа ~ или # чтобы избежать экранирования:

 // Delimited with # instead of / preg_match('#name="dsh" id="dsh" value="(.*?)"#', 'name="dsh" id="dsh" value="123"', $matches); 

Вам нужны разделители :

 preg_match('/name="dsh" id="dsh" value="(.*?)"/', 'name="dsh" id="dsh" value="123"', $matches);