wuwei2_00_8
Tom20081
采纳率100%
2018-04-24 06:03 阅读 1.1k

正则表达式 匹配字符串

20

要求从左至右匹配得到两个(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条回答 默认 最新

  • 已采纳
    caozhy 从今以后生命中的每一秒都属于我爱的人 2018-04-24 06:03

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

    点赞 2 评论 复制链接分享
  • showbo GoCityPass新加坡曼谷通票 2018-04-24 06:16

    撸一发,非贪婪匹配

    \(upara\)([\s\S]+?)\(upara\)
    
    点赞 7 评论 复制链接分享
  • lingxf 凌空跃 2018-04-24 06:11

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

    点赞 评论 复制链接分享
  • flonny 精锐小菜鸡 2018-04-24 06:29

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

    点赞 评论 复制链接分享
  • dasdfadf AKdadada 2018-04-24 07:25

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

    点赞 评论 复制链接分享
  • qq_39213107 紫夜蓝莓 2018-04-24 13:26

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

    点赞 评论 复制链接分享