2017-07-25 75 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