Число регулярных выражений PHP в круглых скобках

#php

#php

Вопрос:

Я просто хочу получить числа из строки, где числа содержатся в круглых скобках.

у меня есть следующий код:

    $type_raw = $row['Type'];
   $length_pattern = '^(d )$';

   preg_match($type_raw,$length_pattern,$match,PREG_OFFSET_CAPTURE);
   $length = $match[0];
  

PHP выдает мне следующую ошибку:

«Предупреждение: preg_match() [function.preg-match]: разделитель не должен быть буквенно-цифровым или обратной косой чертой в -filename- -номер строки->»

Что-то не так с моим шаблоном регулярных выражений или что еще это может быть?

Хорошо, я только что изменил

   $length_pattern = '^(d )$';
  

Для

   $length_pattern = '/^(d )$/';
  

и появляется та же ошибка?

Ответ №1:

Из PHP.net

 int preg_match ( string $pattern , string $subject [, array amp;$matches [, int $flags = 0 [, int $offset = 0 ]]] )
  

Так что ваш будет:

 $length_pattern = '/^(d )$/'; // with a delimiter "/"

preg_match($length_pattern,$type_raw,$matches,PREG_OFFSET_CAPTURE);
  

Ответ №2:

Вам необходимо указать разделитель для вашего регулярного выражения:

 $length_pattern = '/^(d )$/';
  

Ответ №3:

Сигнатура метода:

 int preg_match ( string $pattern ,
                 string $subject
                 [, array amp;$matches
                 [, int $flags = 0
                 [, int $offset = 0 ]]] )
  

Итак, вам нужно изменить порядок и указать разделитель для вашего регулярного выражения, например /^(d )$/