nhxiaobo 发表于 2011-8-26 10:15:22

请教大师们一个正则如何做?如何取出15件*30元/件中数字,然后计算?

请教一个正则如何做?如何取出15件*30元/件,就是取出15 和 30两个数字,然后相乘得到 450?

请指教。

nhxiaobo 发表于 2011-8-26 10:19:58

Local $Str = '150件*300元/件'
Local $Test = StringRegExp($str, '\d+', 3)



自己测试成功,哈哈

happytc 发表于 2011-8-26 10:22:09

$str = "15件*30元/件"
$num = StringRegExp($str, ".*?(\d+).*?(\d+).*", 3)
$Total = Int($num) * Int($num)
MsgBox(0,0,$Total)

nhxiaobo 发表于 2011-8-26 10:25:47

谢谢happytc ,你的方法更精准

nhxiaobo 发表于 2011-8-26 10:52:04

改进 : 150件*300.2元/件

.*?(\d+).*?([.0123456789]+).

150
300.2
[完毕]

happytc 发表于 2011-8-26 10:55:43

改进 : 150件*300.2元/件

.*?(\d+).*?([.0123456789]+).

150
300.2
[完毕]
nhxiaobo 发表于 2011-8-26 10:52 http://www.autoitx.com/images/common/back.gif
[.[:digit:]]或[.0-9]

nhxiaobo 发表于 2011-8-26 11:20:14

谢谢happytc,果然更好

3mile 发表于 2011-8-26 11:22:36

如果只有这么一句"15件*30元/件",用以上正则倒是没什么问题.
如果不只这一句,或文本内容比较复杂的话,用这样的正则是会出问题的.

ghl781258 发表于 2011-8-28 19:24:49

楼上的见解是好的
页: [1]
查看完整版本: 请教大师们一个正则如何做?如何取出15件*30元/件中数字,然后计算?