bhffhzh 发表于 2015-9-11 19:22:30

求正则在记事本里取值。

驱动器 C 中的卷没有标签。
卷的序列号是 36FE-FE73

C:\Windows\Microsoft.Net\Framework 的目录

2010/11/2111:31    <DIR>          v1.0.3705
2009/07/1411:20    <DIR>          v1.1.4322
2015/08/1918:39    <DIR>          v2.0.50727
2011/04/1222:45    <DIR>          v3.0
2015/07/2819:53    <DIR>          v3.5
2015/09/1107:32    <DIR>          v4.0.30319
               0 个文件            0 字节
               6 个目录 62,238,863,360 可用字节



如何能过正则取得这几个值

v1.0.3705      v1.1.4322   v2.0.50727      v3.0      v3.5      v4.0.30319

Huiseyu 发表于 2015-9-11 20:18:46

本帖最后由 Huiseyu 于 2015-9-11 20:24 编辑

看看#include'array.au3'
Local $str = _
                '驱动器 C 中的卷没有标签。' & @CR _
               & '卷的序列号是 36FE-FE73' & @CR _
               & '' & @CR _
               & 'C:\Windows\Microsoft.Net\Framework 的目录' & @CR _
               & '' & @CR _
               & '2010/11/2111:31    <DIR>          v1.0.3705' & @CR _
               & '2009/07/1411:20    <DIR>          v1.1.4322' & @CR _
               & '2015/08/1918:39    <DIR>          v2.0.50727' & @CR _
               & '2011/04/1222:45    <DIR>          v3.0' & @CR _
               & '2015/07/2819:53    <DIR>          v3.5' & @CR _
               & '2015/09/1107:32    <DIR>          v4.0.30319' & @CR _
               & '            0 个文件            0 字节' & @CR _
               & '            6 个目录 62,238,863,360 可用字节'

MsgBox(32,'String' ,$str)
$result = StringRegExp($str ,'\>.+(v[\d.]*)' ,3)
$result = _ArrayToString($result)
$result = StringRegExpReplace($result ,'\|' ,@CRLF)
MsgBox(32*2,'Result' ,$result)

Alam 发表于 2015-9-11 21:00:35

'v[\d\.]+'

bhffhzh 发表于 2015-9-11 21:44:46

感谢两位朋友,正则我可是一窍不通。。只能当伸手派了。
页: [1]
查看完整版本: 求正则在记事本里取值。