正则表达式 匹配字符串

要求从左至右匹配得到两个(upara) (upara)之间的字符串。
三个例子:
1、stockpick/cache?token=(upara)urlpara(upara)&p=(upara)add(upara)&perpage=70&showType=
2、http://blog.sina.com.cn/s/articlelist_2042849783_0_(upara)add(upara).html
3、{"PageIndex":(upara)add(upara),"PageSize":20,"Type":1,"Wechat":"LsO-OMOjw67Cug~~"}
使用正则表达式:(?<=(upara))(\w+)(?=(upara)&)
匹配第一个例子完全正确,结果为urlpara和add,但无法匹配第2第3个例子。
求通用的正则表达式

后面两个肯定不行,因为没有&
你去掉&就可以了。

这个用(upara)(\w+)(upara)就行了, 取$1
为什么要用(?=)?

撸一发,非贪婪匹配

\(upara\)([\s\S]+?)\(upara\)

(upara)([a-z+])(upara)

图片说明 我用java 写的 第一个 和第二个 第三个懒得写了 楼主看一看吧

这个试试(upara)(.*?)(upara)