2014-09-10 56 views
0

我正在使用和服實驗室來刮一堆網站。我想從我使用和服生成的HTML屬性的URL中提取個人ID。和服允許正則表達式只有在這種格式 -正則表達式在URL中間的一個13位數字

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

我在此代表格式一堆網址 -

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

正則表達式做什麼,我用「PID =」後提取13位數字?

+1

'\ d'爲數字,'{}'爲金額:'pid = \ d {13}'? – fedorqui 2014-09-10 11:33:55

回答

0

組索引1包含存在只是爲了PID =後的13位數字,

/^.*?pid=(\d+).*$/ 

DEMO

OR

得到確切的13位數字,

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

DEMO

+1

爲什麼選擇downvote? OP表示僅在該示例中的13位數字。 – 2014-09-10 11:35:19

1
pid=(\d{13}) 

您可以使用this.See demo。

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

+0

謝謝 - 但和服正在爲此拋出一個空白的結果。 (這也是我最初嘗試過的)。我不確定它是否與和服爲正則表達式指定的確切格式有關。他們說中間括號所產生的內容是最終採取的。請看看這個 - http://vimeo.com/98827385 – melony 2014-09-10 11:39:32

+0

@melony中括號的意思是? – vks 2014-09-10 11:46:07

+0

在指定格式中有三對括號 - 參考第二對 – melony 2014-09-10 11:46:49

0

和服語法要求使用3套括號的,所以你需要做的是這樣:

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

你可以als o只需聯繫支持人員,他們將爲您創建正則表達式。