Ваше регулярное выражение не соответствует, потому что после значения appid нет &
.Попробуйте это:
url.to_s[/appid=(\d+)/,1]
Если вы оставите соответствующую часть как .*?
, не имея ничего после нее, она будет соответствовать минимальному количеству возможных строк, которое является пустой строкой.Если вы знаете, что appid является самым концом строки, то вы можете использовать .*
без ?
, но лучше быть точным и указать, что то, что вы ищете, представляет собой последовательность из одного или более (+
) десятичные цифры (\d
).