找回密码
 加入
搜索
查看: 2728|回复: 12

[AU3基础] 求正则分割16进制;匹配偶数起始位置特定字符(已解决)

  [复制链接]
发表于 2016-1-15 11:34:43 | 显示全部楼层 |阅读模式
本帖最后由 fuldho 于 2016-1-15 15:01 编辑

怎样匹配偶数起始位置特定字符
如:0B00A0B00A0C00A0C0

偶数起始位置(红色)0A ,不是奇数起始位(蓝色)0A
发表于 2016-1-15 11:50:15 | 显示全部楼层
#include <Array.au3>
Local $sSource = '0B00A0B00A0C00A0C0'
;~MsgBox(0, '源字符串', $sSource)
Local $sb = '0A'
Local $aSRE = StringRegExp($sSource, '(?i)^((?:..)+?)(' & $sb & ')', 3)
_ArrayDisplay($aSRE, UBound($aSRE))
 楼主| 发表于 2016-1-15 12:28:40 | 显示全部楼层
回复 2# afan

感谢afan版主回复
我没说清楚,是以 0A 来分割返回组数。
 楼主| 发表于 2016-1-15 12:37:13 | 显示全部楼层
回复 2# afan


用记事本打开,文本无分行


用WinHex打开(16进制),可以看到是以 0A 分隔



有没有更好的方法重新给文本分行

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
发表于 2016-1-15 13:05:00 | 显示全部楼层
回复 4# fuldho


    上具体文件,上具体要求,这个似乎用偏移更好解决。
 楼主| 发表于 2016-1-15 13:07:42 | 显示全部楼层
回复 5# haijie1223


是一个不确定的文件,具体就好办了  。
发表于 2016-1-15 13:10:54 | 显示全部楼层
回复 6# fuldho


    是不是有关U盘启动或者网络启动文件的,说下要求,你想做什么?
 楼主| 发表于 2016-1-15 13:30:05 | 显示全部楼层
回复 7# haijie1223


    grldr内置lzma压缩菜单
发表于 2016-1-15 13:35:03 | 显示全部楼层
回复 8# fuldho


    直接调用lzma压缩就OK了~按照你的思路的话,是不是下面这样?
#include <Array.au3>
Local $sSource = '0B00A0B00A0C00A0C0'
Local $length = StringLen($sSource)
$i = 1
While 1
        $pos = StringMid($sSource, $i, 2)
        $i = $i + 1
        If $i = $length Then ExitLoop
        If $pos = "0A" Then
                If Not Mod($i, 2) Then $sSource = StringReplace($sSource, $i - 1, "//", 2)
        EndIf
WEnd
Local $aSRE = StringSplit($sSource, '//', 1)
_ArrayDisplay($aSRE, UBound($aSRE))
发表于 2016-1-15 13:45:45 | 显示全部楼层
回复 8# fuldho


    把//改成@crlf吧
发表于 2016-1-15 14:03:05 | 显示全部楼层
回复 8# fuldho


    不用分奇偶数,直接替换:
Local $hFile = FileOpen(@ScriptDir & "\menu.txt", 16)
Local $sSource = FileRead($hFile)
FileClose($hFile)
$sSource = StringReplace($sSource, "0A", "0D0A")
$sSource = BinaryToString($sSource)
$hFile = FileOpen(@ScriptDir & "\menu.txt", 2 + 8)
FileWrite($hFile, $sSource)
FileClose($hFile)
发表于 2016-1-15 14:49:49 | 显示全部楼层
http://www.autoitx.com/thread-51349-1-1.html
 楼主| 发表于 2016-1-15 15:00:08 | 显示全部楼层
回复 12# haijie1223

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

本版积分规则

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

GMT+8, 2024-9-29 00:22 , Processed in 0.091133 second(s), 20 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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