找回密码
 加入
搜索
查看: 3633|回复: 7

[系统综合] 求磁盘信息正则表达式【已解决】

  [复制链接]
发表于 2011-10-23 09:28:15 | 显示全部楼层 |阅读模式
本帖最后由 lindafu 于 2011-10-23 12:27 编辑

字符串为USBSTOR\\Disk&Ven_Kingston&Prod_DT_101_G2&Rev_PMAP\\07B20F000EDB0027&0

匹配为下面的结果
Kingston DT 101 G2
发表于 2011-10-23 10:23:15 | 显示全部楼层
Local $Str = 'USBSTOR\\Disk&Ven_Kingston&Prod_DT_101_G2&Rev_PMAP\\07B20F000EDB0027&0'
Local $Test = StringRegExpReplace($str, '.*?_([^&_]+)(?:&\w+\\\\.*$)?', '$1 ')
MsgBox(0, '', '原字符串:' & @LF & $Str & @LF & @LF & '替换结果(注,尾部会有个空格):' & @LF & $Test)
 楼主| 发表于 2011-10-23 11:31:26 | 显示全部楼层
回复 2# afan

非常感谢afan 超版的帮忙

字符串换成 RTSTOR\\DISK&Ven_Generic-&Prod_Multi-Card&Rev_1.00\\6&966d86&0&20060413092100000

得的结果多了 1.00\\6&966d86&0&20060413092100000



再麻烦afan 超版帮忙下了

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
发表于 2011-10-23 11:45:49 | 显示全部楼层
把表达式改为
.*?_([^&_]+)(?:&[^\\&]+\\\\.+$)?
 楼主| 发表于 2011-10-23 12:08:51 | 显示全部楼层
回复 4# afan

超版 我是想把  &Rev 后面部分都不要了,但换了个U盘还是有后面部分的
字符串 USBSTOR\Disk&Ven_Kingmax&Prod_FlashDisk&Rev_1.00\08112866b94325&0

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
发表于 2011-10-23 12:13:14 | 显示全部楼层
所以应该早说清楚,尽量把可能的字符串描述得周全些
把表达式改为
.*?_([^&_]+)(?:&[^\\&]+\\.+$)?
 楼主| 发表于 2011-10-23 12:24:01 | 显示全部楼层
回复 6# afan

问题解决了,多谢afan 超版
发表于 2011-10-23 23:54:22 | 显示全部楼层
又多学了点.....
原来'$1'在正则里等同于'\1'?
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-10-1 12:26 , Processed in 0.082021 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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