tianheng 发表于 2009-12-3 11:38:59

正则高手请进,求一触发

情况a:
│牛皮酒袋(Jiudai)            三块干粮(Gan liang)         四十六两白银(Silver)   
情况b:
│三块干粮(Gan liang)            牛皮酒袋(Jiudai)         四十六两白银(Silver)   


要能匹配到干粮和干粮的数量

danfeng 发表于 2009-12-3 12:02:00

(\D*)干粮\(Gan\sliang\)

silvis 发表于 2009-12-3 12:07:30

原帖由 tianheng 于 2009-12-3 11:38 AM 发表 http://pkuxkx.com/forum/images/common/back.gif
情况a:
│牛皮酒袋(Jiudai)            三块干粮(Gan liang)         四十六两白银(Silver)   
情况b:
│三块干粮(Gan liang)            牛皮酒袋(Jiudai)         四十六两白银(Silver)   


要 ...
{ |}(%x)块干粮~(Gan%sliang~)
zmud

tianheng 发表于 2009-12-3 12:24:32

情况a呢?

tianheng 发表于 2009-12-3 12:27:27

a: ^│(.*)(\s+)(.*?)干粮\(Gan liang\).*
b: ^│(.*?)干粮\(Gan liang\).*

有办法合为一个不?

duno 发表于 2009-12-3 15:22:44

触发:^│(*)个包子~(Baozi~)*│$
捕获:#show Catch %rightback(%1, 2)
测试:
a.
├────────────────────────────────────────────┤
│二个包子(Baozi)               四两白银(Silver)            六十文铜板(Coin)            │
Right 二
b.
├────────────────────────────────────────────┤
│牛皮酒袋(Jiudai)            二个包子(Baozi)               四两白银(Silver)            │
Catch 二

tianheng 发表于 2009-12-4 12:38:17

原帖由 duno 于 2009-12-3 03:22 PM 发表 http://pkuxkx.com/forum/images/common/back.gif
触发:^│(*)个包子~(Baozi~)*│$
捕获:#show Catch %rightback(%1, 2)
测试:
a.
├────────────────────────────────────────────┤
│二个包子(Baozi)      ...

只有一个得时候匹配不到

tianheng 发表于 2009-12-5 08:18:40

ttk_01 ttk_13

duno 发表于 2009-12-5 14:47:14

那改下吧
囧发:^│(*)包子~(Baozi~)*│$
执行:
#var countBaozi %rightback(%1, 4);
countBaozi=%trim(@countBaozi);
#if (%len(@countBaozi)==0) {countBaozi="一";
} {countBaozi=%left(@countBaozi, 2);
};
#show Catch @countBaozi;

测试:
│三两白银(Silver)            二个包子(Baozi)               六十文铜板(Coin)            │
Catch 二
╰────────────────────────────────────────────╯
> drop baozi
你丢下一个包子。
> i

├────────────────────────────────────────────┤
│三两白银(Silver)            六十文铜板(Coin)            包子(Baozi)               │
Catch 一
页: [1]
查看完整版本: 正则高手请进,求一触发