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

[AU3基础] 求教正则表达式问题[已解决]

 火.. [复制链接]
发表于 2012-9-26 10:47:12 | 显示全部楼层
回复 15# lhylm
自己的思路未必是错误的,别人的未必最好
看看这个跟你的有多大区别
#include<array.au3>
$openMftFile = FileOpen("D:\UserFile\Desktop\file.txt", 0)
$mftRead = FileRead($openMftFile)
$keyword = 'jpg'
$aRecords = StringRegExp($mftRead,"(?i).*?" & $keyword & "[^\\]*\v",3)
_ArrayDisplay($aRecords)
 楼主| 发表于 2012-9-27 19:57:36 | 显示全部楼层
回复 16# love5173


  这样的  c:\我们\我们的生活.txt  好像不能匹配出来,有的匹配出来中间有空行。
发表于 2012-9-29 22:06:40 | 显示全部楼层
本帖最后由 love5173 于 2012-9-29 22:07 编辑

回复 17# lhylm

或许你使用的时候跟测试的文本不是一样的,我用你的测试文本试验是没问题的,只有一种情况会出问题,就是字符串的最后一行没有换行符 会有问题,这个可以通过先给字符串加一个换行符解决
StringRegExp($mftRead,"(?i).*?" & $keyword & "\v",3)
这样也是没问题的
就怕你里面有空格什么的,如果没有这么写也可以的
发表于 2012-9-29 22:11:13 | 显示全部楼层
另外,正则的简单与否关系到程序的执行速度,所以写的时候尽量选择最简单的匹配。我不是要说谁谁谁的不对,只是执行效率会不同而已。对于小程序这个可以忽略,但是比较大的数据的时候就非常明显了
 楼主| 发表于 2012-10-3 15:20:56 | 显示全部楼层
回复 19# love5173


非常感谢大侠的热心回复!
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-12-24 02:19 , Processed in 0.149053 second(s), 14 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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