java:使用正则表达式提取子字符串

时间:2014-03-01 06:33:51

标签: java regex

我有String数据,我有兴趣提取一个子字符串,但我仍然坚持为此创建正则表达式模式。我所拥有的字符串数据如下:

$.ajax({url:"Q" + "uestions?" 
                + "" + "action=" 
                + "maxim" + "um&" 
                + "p043366329446409=08315891235072667&" 
                + "c" + "ity=" 
                + k.val() + "&" 
                + e + "=888",success:succFun,error:errFun,async:false});
        };

我想从上面的字符串中提取p043366329446409=08315891235072667部分。每次向服务器发出请求时,此数据都会更改,但"p0"将始终启动字符串,而&"将结束字符串。

感谢EveryOne。

2 个答案:

答案 0 :(得分:0)

试试这个

String p0 = s.replaceAll(".*&(p0.+?=.+?)&.*", "$1");

答案 1 :(得分:0)

试试这个:

String mydata = "<query string>";
Pattern pattern = Pattern.compile("p0([0-9]+)=([0-9]+)&");  

Matcher matcher = pattern.matcher(mydata);
int start=0,end=0; 
if(matcher.find())
{
   start=matcher.start();
   end=matcher.end();

   System.out.println(mydata.substring(start,end-1));
}