Python中提取文本指定内容:如何从Steam链接获取游戏ID
从Steam链接提取游戏ID的解决方案
你的正则表达式逻辑错误:
r'app/ + /'是试图匹配app/后跟多个空格再跟/,但Steam链接里app/后直接是数字ID,没有空格,所以完全匹配不到目标内容。正确的正则写法:要捕获
app/之后、下一个/之前的数字ID,用r'app/(\d+)/'即可,其中:app/:匹配固定前缀(\d+):捕获一个或多个数字(游戏ID的核心部分)/:匹配ID后的分隔符
可运行的示例代码:
import re oyunlink = "https://store.steampowered.com/app/1307090/Barro_Racing/?snr=1_7_7_230_150_1" match = re.findall(r'app/(\d+)/', oyunlink, flags=re.IGNORECASE) if match: game_id = match[0] print(game_id) # 输出结果:1307090
- 更通用的写法:如果担心链接格式有变化,也可以用
r'app/(\d+)',只匹配app/后的连续数字,无需限定后面的/,兼容性更强。
内容的提问来源于stack exchange,提问作者Freddy Go
相关产品推荐
相关产品推荐

