精易论坛

标题: 还是正则,现在越来越迷糊了,在线等高手指点,谢谢。 [打印本页]

作者: 恭圆设计    时间: 2017-4-13 21:21
标题: 还是正则,现在越来越迷糊了,在线等高手指点,谢谢。
要同一个正则,第一个可以取出符合要求的。第二个,和第三个,却取出的不对。不知为什么。请指点下,谢谢了。

00.e (633.79 KB, 下载次数: 6)






作者: silenter    时间: 2017-4-13 21:24
楼主处理JSON数据,还是使用JSON来解析处理吧,可以参考:http://125.confly.eu.org/forum.php?mod= ... 13906287&extra=
作者: LySyhd    时间: 2017-4-13 21:38
LySyhd_回答问题_正则表达式.e

LySyhd_回答问题_正则表达式.e

629.23 KB, 下载次数: 2


作者: 易正易则    时间: 2017-4-13 21:54
00.e (708.55 KB, 下载次数: 2)

作者: 秀才遇到兵    时间: 2017-4-13 22:07
你是想取出什么内容   

3{20.500000,30.500000,10.500000}
* 数组:3{10.500000,20.500000,30.500000}
* 数组:4{18.000000,18.000000,15.000000,20.000000}
* 数组:4{15.000000,18.000000,18.000000,20.000000}
* 数组:4{8.500000,10.500000,2.000000,2.000000}
* 数组:4{2.000000,2.000000,8.500000,10.500000}   这样的内容对吗 ?

你的数组排序有问题   第一个是从小到大  后面两个按你的要求应该是从大到小  正则也改了下

00.e

640.99 KB, 下载次数: 0


作者: 恭圆设计    时间: 2017-4-13 22:12
易正易则 发表于 2017-4-13 21:54

正则中的   operties":"否"    是要用到的。因为这一个参数,不一定是“否”还是“是”

如果把最下面的那一组的“是”改成"否"那应该取出的是19.00。因为这个数是,带“否”的最大的数。则您的这一个,还是取15.00。更不要说,把15.00那一组的“否”改成“是”了。
  1. {"data":[{"commissionRate":18.00,"CampaignID":2697610,"ExistStatus":1,"CampaignName":"普通计划1","CampaignType":"定向推广计划","AvgCommission":"17.08 %","Exist":true,"manualAudit":1,"ShopKeeperID":11709880,"Properties":"是"},{"commissionRate":18.00,"CampaignID":6944740,"CampaignName":"普通计划2","CampaignType":"定向推广计划","AvgCommission":"17.03 %","Exist":false,"manualAudit":1,"ShopKeeperID":11709880,"Properties":"是"},{"commissionRate":15.00,"CampaignID":7278285,"CampaignName":"英雄试水","CampaignType":"定向推广计划","AvgCommission":"14.25 %","Exist":false,"manualAudit":0,"ShopKeeperID":11709880,"Properties":"否"},{"commissionRate":20.00,"CampaignID":27972528,"CampaignName":"精英推广","CampaignType":"定向推广计划","AvgCommission":"19.00 %","Exist":false,"manualAudit":1,"ShopKeeperID":11709880,"Properties":"否"}],"info":{"message":null,"ok":true},"ok":true,"invalidKey":null}
复制代码
  1. {"data":[{"commissionRate":18.00,"CampaignID":2697610,"ExistStatus":1,"CampaignName":"普通计划1","CampaignType":"定向推广计划","AvgCommission":"17.08 %","Exist":true,"manualAudit":1,"ShopKeeperID":11709880,"Properties":"是"},{"commissionRate":18.00,"CampaignID":6944740,"CampaignName":"普通计划2","CampaignType":"定向推广计划","AvgCommission":"17.03 %","Exist":false,"manualAudit":1,"ShopKeeperID":11709880,"Properties":"是"},{"commissionRate":15.00,"CampaignID":7278285,"CampaignName":"英雄试水","CampaignType":"定向推广计划","AvgCommission":"14.25 %","Exist":false,"manualAudit":0,"ShopKeeperID":11709880,"Properties":"是"},{"commissionRate":20.00,"CampaignID":27972528,"CampaignName":"精英推广","CampaignType":"定向推广计划","AvgCommission":"19.00 %","Exist":false,"manualAudit":1,"ShopKeeperID":11709880,"Properties":"否"}],"info":{"message":null,"ok":true},"ok":true,"invalidKey":null}
复制代码


作者: 恭圆设计    时间: 2017-4-13 22:20
z002304 发表于 2017-4-13 22:07
你是想取出什么内容   

3{20.500000,30.500000,10.500000}

想取出的是像下面。这是一组。会有很多组,不一定。必须是带 “否”的。取出的这几个数。取个最大值。
  1. {"data":[{"commissionRate":<font color="#000000">454.142</font>,"CampaignID":2697610,"ExistStatus":1,"CampaignName":"普通计划1","CampaignType":"定向推广计划","AvgCommission":"17.08 %","Exist":true,"manualAudit":1,"ShopKeeperID":11709880,"Properties":"<font color="#000000">是</font>"}
复制代码



作者: 秀才遇到兵    时间: 2017-4-13 22:59
恭圆设计 发表于 2017-4-13 22:20
想取出的是像下面。这是一组。会有很多组,不一定。必须是带 “否”的。取出的这几个数。取个最大值。

...

带 是的格式是不一样的  正则匹配不到的  
正则表达式是下面的 ,你可以试试
commissionRate":(\d+.\d+),"CampaignID":(\d+),
作者: 恭圆设计    时间: 2017-4-13 23:07
可以试一下,这些都不行。
作者: waterbra    时间: 2017-4-14 22:21
JSON,安逸...




欢迎光临 精易论坛 (https://125.confly.eu.org/) Powered by Discuz! X3.4