求磁盘信息正则表达式【已解决】
本帖最后由 lindafu 于 2011-10-23 12:27 编辑字符串为USBSTOR\\Disk&Ven_Kingston&Prod_DT_101_G2&Rev_PMAP\\07B20F000EDB0027&0
匹配为下面的结果
Kingston DT 101 G2 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) 回复 2# afan
非常感谢afan 超版的帮忙
字符串换成 RTSTOR\\DISK&Ven_Generic-&Prod_Multi-Card&Rev_1.00\\6&966d86&0&20060413092100000
得的结果多了 1.00\\6&966d86&0&20060413092100000
再麻烦afan 超版帮忙下了 把表达式改为.*?_([^&_]+)(?:&[^\\&]+\\\\.+$)? 回复 4# afan
超版 我是想把&Rev 后面部分都不要了,但换了个U盘还是有后面部分的
字符串 USBSTOR\Disk&Ven_Kingmax&Prod_FlashDisk&Rev_1.00\08112866b94325&0
所以应该早说清楚,尽量把可能的字符串描述得周全些
把表达式改为.*?_([^&_]+)(?:&[^\\&]+\\.+$)? 回复 6# afan
问题解决了,多谢afan 超版 又多学了点.....
原来'$1'在正则里等同于'\1'?
页:
[1]