wua0550 发表于 2016-11-28 17:16:52

[已解决]求个正则

本帖最后由 wua0550 于 2016-11-28 19:00 编辑

<REC><OR_N>161128102230</OR_N><TIME>2016-11-28 16:00:58</TIME><STA>1</STA><TYPE>2</TYPE><CO_I>200022</CO_I><PRI>53.58</PRI><QTY>10.00</QTY><BAL>10.00</BAL><WD_T></WD_T></REC><REC><OR_N>161128102150</OR_N><TIME>2016-11-28 16:00:22</TIME><STA>5</STA><TYPE>2</TYPE><CO_I>200022</CO_I><PRI>53.69</PRI><QTY>10.00</QTY><BAL>10.00</BAL><WD_T>2016-11-28 16:00:47</WD_T></REC><REC><OR_N>161128102146</OR_N><TIME>2016-11-28 16:00:20</TIME><STA>5</STA><TYPE>1</TYPE><CO_I>200016</CO_I><PRI>166.03</PRI><QTY>3.00</QTY><BAL>3.00</BAL><WD_T>2016-11-28 16:00:47</WD_T></REC><REC><OR_N>161128102173</OR_N><TIME>2016-11-28 16:00:34</TIME><STA>1</STA><TYPE>2</TYPE><CO_I>100010</CO_I><PRI>21.48</PRI><QTY>5.00</QTY><BAL>5.00</BAL><WD_T></WD_T></REC>        原文本如上,我想取两个<REC></REC>之间<STA>1</STA> 为1的条目
理想的输出应该为<OR_N>161128102230</OR_N><TIME>2016-11-28 16:00:58</TIME><STA>1</STA><TYPE>2</TYPE><CO_I>200022</CO_I><PRI>53.58</PRI><QTY>10.00</QTY><BAL>10.00</BAL><WD_T></WD_T></REC>
<REC><OR_N>161128102173</OR_N><TIME>2016-11-28 16:00:34</TIME><STA>1</STA><TYPE>2</TYPE><CO_I>100010</CO_I><PRI>21.48</PRI><QTY>5.00</QTY><BAL>5.00</BAL><WD_T></WD_T></REC>
<REC>.*?<STA>1</STA>.*?</REC> 我用这条正则式去取的时候会向后匹配到第二,第三个REC内的sta 1 的内容~~所以失败了~

我只想用一条正则解决,如果告诉我别的方法的~~先谢谢了~~不过我不想用!

haijie1223 发表于 2016-11-28 17:52:47

这个有关正则的平衡组匹配。AU3似乎不能平衡组匹配。

afan 发表于 2016-11-28 18:07:05

<REC>(?:(?!</REC>).)*?<STA>1</STA>.*?</REC>

wua0550 发表于 2016-11-28 19:03:59

回复 3# afan
a版 谢谢了~~我也想说用匹配排除来做~~但我用错了[^</REC>] 看了A版的答案恍然大悟~~非常感谢

haijie1223 发表于 2016-11-28 20:31:41

回复 3# afan


    a版,AU3的正则有平衡组吗?

afan 发表于 2016-11-29 12:52:00

回复 5# haijie1223


    有~少见而已

haijie1223 发表于 2016-11-29 13:55:17

回复 6# afan


    afan写个示例来看,非常期待

afan 发表于 2016-11-29 19:23:43

回复 7# haijie1223


    这个没怎么用,忘得差不多了,论坛肯定是有例子的,搜搜~

haijie1223 发表于 2016-11-29 20:35:18

回复 8# afan


    好的,我爬下~

zghwelcome 发表于 2016-12-4 09:22:19


afan 发表于 2016-11-28 18:07 http://www.autoitx.com/images/common/back.gif


    又跟A版学了一着{:face (356):}
页: [1]
查看完整版本: [已解决]求个正则