找回密码
 加入
搜索
楼主: elexy

[AU3基础] [已解决]识别出CPU简明型号的正则

 火.. [复制链接]
发表于 2011-9-30 18:29:35 | 显示全部楼层
本帖最后由 drunk 于 2011-9-30 18:30 编辑

回复 14# elexy


\w+(?=\s*@)
发表于 2011-9-30 19:21:35 | 显示全部楼层
回复 1# elexy
CPU\s+(\S+)\s+@
发表于 2011-9-30 22:55:50 | 显示全部楼层
如果都在CPU和@之前 可以用CPU([\w|\W]*?)@  软后trim把空格去了
发表于 2011-10-1 04:01:04 | 显示全部楼层
[au3]#include<array.au3>
Local $cpu0= "Pentium(R) Dual-Core CPU   E5700    @ 3.00GHz"
Local $cpu = stringsplit($cpu0,'cpu ')
_arraydisplay($cpu, ' ')[/au3]
 楼主| 发表于 2011-10-1 08:41:43 | 显示全部楼层
本帖最后由 elexy 于 2011-10-1 08:44 编辑
看看下面的那个更适合你!推荐最后一个或者或者
gzh888666 发表于 2011-9-30 16:50


谢谢高手 (\w\d+)(?=\h+\@)   挺合适,可以做到只要后面有 @ 就能识别出来,无论前面是不是有 CPU 字符    且没有空格存在,赞一个
 楼主| 发表于 2011-10-1 08:45:37 | 显示全部楼层
drunk 改进的 \w+(?=\s*@)  验证成功,且很短,历害历害!

17楼 xms77 的 CPU\s+(\S+)\s+@   也可以,不过需要前面有 CPU 字符存在
 楼主| 发表于 2011-10-1 13:47:27 | 显示全部楼层
问题更新
Local $cpu0= "Intel(R) Core2(tm)  I7-2630QM    @ 3.00GHz"
$exp = StringRegExp($cpu0,'\w+(?=\s*@)',1)
MsgBox(0,$cpu0,$exp[0])
上述正则只能获取到 2630M  如何改进一下获取  I7-2630QM
发表于 2011-10-1 21:19:42 | 显示全部楼层
本帖最后由 xms77 于 2011-10-1 21:30 编辑

回复 21# elexy
原来还有没有CPU字符的情况啊?不知道!如果用这个呢怎么样啊? \s+(\S+)\s+@
如果CPU型号的字符串中有空格,就失效了,不知道有木有这种情况啊?
发表于 2011-10-1 21:45:52 | 显示全部楼层

下一次确定了问题再来问,说CPU肯定出现,现在又变了!不过貌似更简单!

本帖最后由 gzh888666 于 2011-10-1 21:48 编辑
问题更新上述正则只能获取到 2630M  如何改进一下获取  I7-2630QM
elexy 发表于 2011-10-1 13:47
    (\S+)\h+@
 楼主| 发表于 2011-10-2 09:16:14 | 显示全部楼层
回复  elexy
原来还有没有CPU字符的情况啊?不知道!如果用这个呢怎么样啊? \s+(\S+)\s+@
如果CPU型号的 ...
xms77 发表于 2011-10-1 21:19


CPU简明型号中不会有空格的,呵呵,谢谢你!测试通过,
新出的INTEL CPU格式是这样的   .......空格+型号+空格+@.....

“CPU字符有时候有时候没有,用空格判断最准了”
 楼主| 发表于 2011-10-2 09:17:54 | 显示全部楼层
gzh888666 发表于 2011-10-1 21:45


谢谢,很精简,历害~
发表于 2013-2-5 09:06:43 | 显示全部楼层
好学习,天天向上
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-6-18 17:40 , Processed in 0.079391 second(s), 14 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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