2017-07-25 106 views
0

我想通過正則表達式中提取響應報頭「狀態」和「代碼」,從網址。字符串在響應頭

我使用的正則表達式是:

state=([^\n]+)\& 
code=([^\n]+) 

這裏的網址: -

https://jboss-mxaus.projectsuite.com/?state=205%2F84faf9c7-e4ac-43d1-82e1-d728a4382e1e&code=c3AgHdzZMUbinPX7WZ3xXim9M9A93pGFosZgJmKhvro.14cc8c81-eb44-4a3b-9b5a-5de4a3b6f48f 
+0

,既沒有解釋也沒有問題在這裏。 –

回答

0

我覺得兩個獨立的表達更容易維護兩個變量,

使用2正則表達式提取:

Reference Name: state 

Regular Expression : state=([^\n]+)&code=([^\n]+) 

Template $1$ 

Match No. 1 

第二個變量:

Reference Name: code 

Regular Expression : state=([^\n]+)&code=([^\n]+) 

Template $2$ 

Match No. 1 

它將更新狀態和代碼變量值。

+0

感謝您的快速響應!兩者都是獨立的參數。我應該使用不同的表達或同一個 – kiranIqbal

+0

我覺得兩個獨立的表達更容易維護 – user7294900

+0

@kiranIqbal我更新了兩個獨立的表達 – user7294900

0

另一個版本,如果你想

/state=([^&]+)&code=([a-zA-Z0-9.-]+$)/ 

根據下面的評論來試試,這裏是你如何捕捉「狀態」和「代碼」分別

let str = "https://jboss-mxaus.projectsuite.com/?state=205%2F84faf9c7-e4ac-43d1-82e1-d728a4382e1e&code=c3AgHdzZMUbinPX7WZ3xXim9M9A93pGFosZgJmKhvro.14cc8c81-eb44-4a3b-9b5a-5de4a3b6f48f"; 
let result = str.match(/state=([^&]+)&code=([a-zA-Z0-9.-]+$)/); 

console.log(result[1]); 
console.log(result[2]); 


result[1] will hold 'state' 
result[2] will hold 'code'. 

希望這會有所幫助。

+0

感謝您的快速反應!都是獨立的參數。我應該使用不同的表達或同一個 – kiranIqbal

+0

你是什麼意思由不同的參數?你想要一個變量的狀態值和另一個的代碼值? – JBone

+0

是準確的,我希望有狀態和代碼值分別.. – kiranIqbal