如何使用正则表达式从多种结构的URL中提取目标参数值
单结构匹配(仅匹配page参数场景)
针对https://vsvs.cc/?page=324这类携带page查询参数的URL,直接使用以下正则即可提取数值:
[?&]page=(\d+)
- 逻辑说明:匹配以
?或&开头的page=字段,捕获后面连续的数字内容,即使URL后续带其他参数、锚点也不会影响匹配结果,比如https://vsvs.cc/?page=324&from=home#top同样可以正确提取到324。
通用匹配(兼容两种URL结构)
如果需要用一个正则同时适配路径中携带数值、查询参数中携带page数值的两种场景,可以使用带分支的正则:
(?:\.net/best/(\d+)\.html|[?&]page=(\d+))
- 逻辑说明:两个分支分别匹配两种URL结构,捕获组中不为空的结果就是需要的数值,不需要额外根据URL结构切换正则规则。
内容的提问来源于stack exchange,提问作者Peters7
相关产品推荐
相关产品推荐

