正则表达式在URL中间的13位数字

时间:2014-09-10 11:32:18

标签: regex web-scraping

我正在使用和服实验室来抓取一堆网站。我想从我使用和服生成的HTML属性的URL中提取单个ID。 Kimono只允许这种格式的正则表达式 -

/^()(.*?)()$/

我有一堆这种代表性格式的网址 -

http://www.abcde.com/inferno-english/p/itmdzhspdfkfszyk?pid=9780593072493&srno=b_3&ref=e32b55b4-b0b0-413d-b76c-a41ad93247a5

我使用什么正则表达式来提取“pid =”之后的13位数?

4 个答案:

答案 0 :(得分:1)

pid=(\d{13})

你可以使用它。参见演示。

http://regex101.com/r/dM0rS8/1

答案 1 :(得分:0)

组索引1包含紧跟在pid =,

之后的13位数字
/^.*?pid=(\d+).*$/

DEMO

要获得确切的13位数,

/^.*?pid=(\d{13}).*$/

DEMO

答案 2 :(得分:0)

使用积极的lookbehind:

(?<=pid=)\d{13}

演示:http://regex101.com/r/bA0jG5/1

答案 3 :(得分:0)

和服语法需要使用3组括号,因此您需要执行以下操作:

 /(pid=)(\d{13})()/ 

您也可以联系支持人员,他们将为您创建正则表达式。