Это строка. И я хочу получить от него значение $id.
Каков правильный шаблон для него?
Ответ 1
Решение @PhpMyCoder отлично. Но если вам абсолютно необходимо использовать preg_match (хотя в этом случае он совершенно не нужен)
$subject = "http://www.mysite.com?id=05&name=johnny";
$pattern = '/id=[0-9A-Za-z]*/'; //$pattern = '/id=[0-9]*/'; if it is only numeric.
preg_match($pattern, $subject, $matches);
print_r($matches);
Ответ 2
Вам не нужно регулярное выражение (и вы не должны прыгать прямо в регулярное выражение в будущем, если у вас нет веской причины).
Используйте parse_url() с помощью PHP_URL_QUERY, который извлекает запрос. Затем сопоставьте это с parse_str().