找回密码
 加入
搜索
查看: 1456|回复: 8

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

  [复制链接]
发表于 2011-8-26 10:15:22 | 显示全部楼层 |阅读模式
请教一个正则如何做?如何取出15件*30元/件,就是取出15 和 30  两个数字,然后相乘得到 450?

请指教。
 楼主| 发表于 2011-8-26 10:19:58 | 显示全部楼层
Local $Str = '150件*300元/件'
Local $Test = StringRegExp($str, '\d+', 3)



自己测试成功,哈哈
发表于 2011-8-26 10:22:09 | 显示全部楼层
$str = "15件*30元/件"
$num = StringRegExp($str, ".*?(\d+).*?(\d+).*", 3)
$Total = Int($num[0]) * Int($num[1])
MsgBox(0,0,$Total)
 楼主| 发表于 2011-8-26 10:25:47 | 显示全部楼层
谢谢happytc ,你的方法更精准
 楼主| 发表于 2011-8-26 10:52:04 | 显示全部楼层
改进 : 150件*300.2元/件

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

[0]150
[1]300.2
[完毕]
发表于 2011-8-26 10:55:43 | 显示全部楼层
改进 : 150件*300.2元/件

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

[0]150
[1]300.2
[完毕]
nhxiaobo 发表于 2011-8-26 10:52

[.[:digit:]]或[.0-9]
 楼主| 发表于 2011-8-26 11:20:14 | 显示全部楼层
谢谢happytc  ,果然更好
发表于 2011-8-26 11:22:36 | 显示全部楼层
如果只有这么一句"15件*30元/件",用以上正则倒是没什么问题.
如果不只这一句,或文本内容比较复杂的话,用这样的正则是会出问题的.
发表于 2011-8-28 19:24:49 | 显示全部楼层
楼上的见解是好的
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-9-21 01:48 , Processed in 0.076624 second(s), 21 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表