使用regex提取URL参数

时间:2014-06-03 17:36:06

标签: regex

string - URL:

1. &PARAM1=dummy&RQNB=EPR-0-1&PG=REQ //need to extract RQNB=EPR-0-1
2. &PARAM1=dummy&PG=REQ&RQNB=EPR-0-2 //need to extract RQNB=EPR-0-2
3. &RQNB=EPR-0-3&PARAM1=dummy&PG=REQ //need to extract RQNB=EPR-0-3

需要提取RQNB = dyn_value。 将在mod_rewrite中用于apache。

" RQNB = dyn_value"可以出现在字符串的任何位置

尝试:

^.*[&]?RQNB=(.*)$

但是提取:

1) RQNB=EPR-0-1&PG=REQ
2) RQNB=EPR-0-2
3) RQNB=EPR-0-3&PARAM1=dummy&PG=REQ

1 个答案:

答案 0 :(得分:2)

这个正则表达式会这样做:

(^|\b)RQNB=[^&]+

Regular expression visualization

Debuggex Demo

修改

根据您在下面的评论,您需要通过将字符串括在()中来捕获字符串,如下所示:

(?:^|\b)(RQNB=[^&]+)

Regular expression visualization

Debuggex Demo

然后,您可以使用数字组指示符来引用RQNB=foo,例如$1