特定论坛的正则表达式

时间:2016-05-18 18:59:42

标签: regex

我真的不知道如何使用正则表达式,我有一个任务是获取批量图像下载程序以找到一定数量的页面,例如第1-20页链接爬行。

这是网址:

/index.php?app=core&module=search&do=viewNewContent&period=month&userMode=&search_app=forums&sid=ceb2a9ba4039e4a06d3a6775aa735f2d&search_app_filters[forums][searchInKey]=&st=400 

其页面(st参数)以+25递增,因此以下页面将为:

/index.php?app=core&module=search&do=viewNewContent&period=month&userMode=&search_app=forums&sid=ceb2a9ba4039e4a06d3a6775aa735f2d&search_app_filters[forums][searchInKey]=&st=425 

如何将页码与下一个连续页码匹配并替换?

1 个答案:

答案 0 :(得分:0)

你可以捕捉最后的数字并使用你正在编写的任何语言将其递增25:

/(\/index\.php.+?)(\d+)$/

这将为您提供$ 1中的URL和$ 2中的页码或匹配[2](但您选择的语言代表第一个“捕获”)。有了它,你可以增加它。

这个Ruby示例将会这样做:

matches = url.match(/(\/index\.php.+?)(\d+)$/)
page = matches[2].to_i               # Convert the page number to integer
page = page + 25                     # Calculate the new page number
new_url = matches[1] + (page).to_s   # Merge in the new page number

这应该是这种格式的URL。