Чтобы показать, где ваше регулярное выражение пошло не так:
.
и ?
- это специальные символы в регулярных выражениях. .
означает «любой символ», а ?
означает «ноль или один случай предыдущего выражения». Поэтому ваше регулярное выражение не соответствует. Кроме того, вам нужно использовать дословные строки в C # (если вы не хотите экранировать каждый обратный слеш):
@"<a href=\"http://www\.mysite\.com/myitem\.php\?id=(\d+)\">" + myItemName + "</a>";
вероятно будет работать.
Тем не менее, если все ссылки, которые вы просматриваете, не соответствуют именно этому формату, у вас могут возникнуть проблемы. Здесь, на SO, довольно круто, что анализ HTML с помощью регулярных выражений принесет вам гнев Ктулху.