Tom20081
2018-04-24 06:03
采纳率: 100%
浏览 1.1k

正则表达式 匹配字符串

要求从左至右匹配得到两个(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个例子。
求通用的正则表达式

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

6条回答 默认 最新

  • blownewbee 2018-04-24 06:03
    已采纳

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

    点赞 打赏 评论
  • 凌空跃 2018-04-24 06:11

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

    点赞 打赏 评论
  • 撸一发,非贪婪匹配

    \(upara\)([\s\S]+?)\(upara\)
    
    点赞 打赏 评论
  • 精锐小菜鸡 2018-04-24 06:29

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

    点赞 打赏 评论
  • AKdadada 2018-04-24 07:25

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

    点赞 打赏 评论
  • 紫夜蓝莓 2018-04-24 13:26

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

    点赞 打赏 评论

相关推荐 更多相似问题