求正则表达式去INI指定关键词的值,非IniRead[已解决]
本帖最后由 qq724174 于 2012-1-8 15:11 编辑求正则表达式取INI某个关键字的值
INI内容如下:
pathfrmbin=ConfigMgr.dll
md5=2EACDD6F552278CADAE348A2EA669114
filedate=2012-01-06 15:58:17
forcedpath=
pathfrmbin=DNAService\P2PConfig.xml
md5=
filedate=2012-01-05 23:49:53
forcedpath=
pathfrmbin=DNAService\p2pserver.exe
md5=7EF34F5747C3897D37DF0F2E9276435C
filedate=2011-08-09 09:50:41
forcedpath=
pathfrmbin=DNAService\SoftUpdate.exe
md5=B20E7C54FBCED5F5EFD9ABF0C262896D
filedate=2012-01-06 18:34:53
forcedpath=需要取出下的filedate的值,
功能和IniRead($sFile,'P2PConfig.xml','filedate','')一样,但是数据是保存在变量当中的 无法用IniRead获取,请问各位用什么正则可以直接取出吗? 求正则表达式取INI某个关键字的值
INI内容如下:需要取出下的filedate的值,
功能和一样,但是数据是保存 ...
qq724174 发表于 2012-1-8 07:57 http://www.autoitx.com/images/common/back.gif
如果有心学点正则请参考此帖: http://www.autoitx.com/thread-29424-1-1.html
#include <array.au3>
$txt = FileRead('d:\file.au3')
$str = StringRegExp($txt, '(?<=^|[\r\n])(?:\)(?s).+?filedate=([^\r\n]+).+', 3)
_ArrayDisplay($str) 本帖最后由 qq724174 于 2012-1-8 08:47 编辑
回复 2# user3000
搞定,谢谢了\(?s).+?filedate=([^\r\n]+) 本帖最后由 Ycxw2008 于 2012-1-8 09:04 编辑
回答慢了,清除文字 回复user3000
搞定,谢谢了
qq724174 发表于 2012-1-8 08:45 http://www.autoitx.com/images/common/back.gif
搞定了就把帖子标题添加 [已解决] 这个三个字进去!
在标题前头或后尾加都可以! 多谢楼主共享 认真学习一下! 回复 2# user3000
pathfrmbin=ConfigMgr.dll
md5=2EACDD6F552278CADAE348A2EA669114
filedate=2012-01-06 15:58:17
forcedpath=
pathfrmbin=DNAService\P2PConfig.xml
md5=
filedate=2012-01-05 23:49:53
forcedpath=
pathfrmbin=DNAService\p2pserver.exe
md5=
filedate=2011-08-09 09:50:41
forcedpath=
pathfrmbin=DNAService\SoftUpdate.exe
md5=B20E7C54FBCED5F5EFD9ABF0C262896D
filedate=2012-01-06 18:34:53
forcedpath=Func _IniRead($sText, $section, $Key, $Default)
;(?<=^|[\r\n])(?:\)(?s).+?md5=([^\r\n]+).+
;\(?s).+?filedate=([^\r\n]+)
Local $iKey = StringRegExp($sText, '\[' & $section & '\](?s).+?' & $Key & '=([^\r\n]+)', 3)
If @error Then Return $Default
Return $iKey
EndFunc ;==>_IniRead_IniRead($sFile_List, p2pserver.exe', 'md5', '')这样读到的是里的md5,请帮我看看 回复user3000 这样读到的是里的md5,请帮我看看
qq724174 发表于 2012-1-12 17:53 http://www.autoitx.com/images/common/back.gif
Local $iKey = StringRegExp($sText, '\[' & $section & '\](?s).+?' & $Key & '=([^\r\n]+)filedate, 3)
这样就可以了... 把它限制在一个字段内!
页:
[1]