找回密码
 加入
搜索
查看: 2676|回复: 9

[AU3基础] [已解决]正则问题 !撷取文件档

  [复制链接]
发表于 2011-11-12 14:26:34 | 显示全部楼层 |阅读模式
本帖最后由 t895073 于 2011-11-13 20:05 编辑

文件档内容:
C:\CreateFile\atu\mcc\gpi_1.ch
C:\CreateFile\input\mcc1\gpio_matrix.ch
C:\CreateFile\star\1154\sta0\gpio_output.ch
C:\CreateFile\input\mcc3\xts\estr\gpio_switch.ch
C:\CreateFile\input\mcc4\sta1\keychord.ch
C:\CreateFile\input\mcc5\est\etc\lighr_smd.ch
C:\CreateFile\input\mcc6\uinput.ch
C:\CreateFile\imoter\screen\cat.ch
C:\CreateFile\imoter\screen1\eas_22a4e.ch
C:\CreateFile\input\m101\lighr_smd.ch
C:\CreateFile\input\mcc\uinput.ch
C:\CreateFile\input\screen\cat.ch
C:\CreateFile\input\screen1\eas_22a4e.ch

我要抓出所有的 特定文件路径
然后用Msgbox 一次一个显示出来要怎么弄呢?
如: Msgbox 第一次显示 atu\mcc
案确定后 在显示input\mcc1
案确定后 在显示star\1154\sta0
案确定后 在显示input\mcc3\xts\estr
一直显示完  谢谢!!
发表于 2011-11-12 14:41:05 | 显示全部楼层
这样行不行?

用StringRegExp.
(?i)CreateFile\\(.+)\\.+\.
发表于 2011-11-12 14:50:48 | 显示全部楼层
:\\.+?\\(.+)\\
发表于 2011-11-12 15:09:03 | 显示全部楼层
本帖最后由 gzh888666 于 2011-11-12 15:21 编辑
Local $Str = _
                'C:\CreateFile\atu\mcc\gpi_1.ch' & @CRLF & _
                'C:\CreateFile\input\mcc1\gpio_matrix.ch' & @CRLF & _
                'C:\CreateFile\star\1154\sta0\gpio_output.ch' & @CRLF & _
                'C:\CreateFile\input\mcc3\xts\estr\gpio_switch.ch' & @CRLF & _
                'C:\CreateFile\input\mcc4\sta1\keychord.ch' & @CRLF & _
                'C:\CreateFile\input\mcc5\est\etc\lighr_smd.ch' & @CRLF & _
                'C:\CreateFile\input\mcc6\uinput.ch' & @CRLF & _
                'C:\CreateFile\imoter\screen\cat.ch' & @CRLF & _
                'C:\CreateFile\imoter\screen1\eas_22a4e.ch' & @CRLF & _
                'C:\CreateFile\input\m101\lighr_smd.ch' & @CRLF & _
                'C:\CreateFile\input\mcc\uinput.ch' & @CRLF & _
                'C:\CreateFile\input\screen\cat.ch' & @CRLF & _
                'C:\CreateFile\input\screen1\eas_22a4e.ch' & @CRLF
MsgBox(0, '原字符串', $Str)
Local $Test = StringRegExp($str, '(?i):\\.+?\\(.*)\\.+?\.ch', 3)
For $i=0 To UBound($Test)-1
If Not @Error Then MsgBox(0, '匹配UBound数量: ' & UBound($Test), '其中['&$i&']元素为: ' & $Test[$i])
Next
发表于 2011-11-12 17:54:25 | 显示全部楼层
StringRegExp($text, 'CreateFile\\(.+)\\.+\.ch',3)
发表于 2011-11-12 20:59:49 | 显示全部楼层
这个要用到正则吗???
发表于 2011-11-12 21:40:49 | 显示全部楼层
回复 6# autt
还有比正则更有效简单的方法吗?
发表于 2011-11-12 22:21:53 | 显示全部楼层
回复 7# xms77


    我错了
发表于 2011-11-13 19:52:32 | 显示全部楼层
回复 8# autt
我原以为你有更好的解决方法呢!
 楼主| 发表于 2011-11-13 20:03:14 | 显示全部楼层
感谢大家帮忙!
学习了!!
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-10-1 09:33 , Processed in 0.102610 second(s), 22 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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