亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? 匯編版正則表達式.txt

?? 會變語言實現的一些程序
?? TXT
?? 第 1 頁 / 共 2 頁
字號:
.DATA
    lpszString    db 'link.exe /SUBSYSTEM:WINDOWS /nologo /OUT:"Main.exe" "Main.obj" "Main.RES"'
    lpEnd db 0
    
.DATA?
    hInstance    dd ?
    lpRet             POINT 20 dup()                 ;最多20個
    iCount        dd ?
    buffer        db MAX_PATH*2 dup(?)
.CODE
GetRetString proc uses edx,lpPOINT,lpRetString,iSize
    mov edx,lpPOINT
    mov eax,[edx].POINT.y
    sub eax,[edx].POINT.x
    .if eax>iSize
        mov eax,iSize
    .endif
    push eax
    invoke RtlMoveMemory,lpRetString,[edx].POINT.x,eax
    pop eax
    mov edx,lpRetString
    mov BYTE ptr [edx+eax],0
    ret
GetRetString endp
START:

    invoke GetModuleHandle,NULL
    mov hInstance,eax
.data
        lp2 db '/{OUT}:{(\")+>}',0    ;將返回"Main.exe"包含引號
        lp3 db '/{OUT}:(\")+<{?+[\"]}\">',0 ;將返回 main.exe 無引號
        lp4 db '/{OUT}(:(\")+<{?+[\"]}\">)*',0
                            ;與lp3相同,但是如果/OUT之后沒有值,也返回成功
        ;接著,我們進行不定個數的查找測試,查找所有單獨使用引號包含的字符串.
        ;目標必須是類似組合的字串,并且相連續, "Main.obj" "Main.RES ,分開后就是:
        ; "Main.obj"
        ; "Main.RES"
        ;分析得到表達式如下:
        lp5 db '( +{\"?+<\">})+',0

.code
    ;在每次使用ExpressSearch前都要賦值.因為ExpressSearch會修改它
    mov iCount,20        
invoke ExpressSearch,0,                             ;使用默認的字符表
offset lpszString,            ;目標地址
offset lpEnd,                 ;結束地址
offset lp5, ;查找/OUT:"Main.exe",并分離出參數與值
offset lpRet,                 ;返回結果地址
offset iCount,                 ;個數
EF_USEEXPRESS                 ;使用表達式,區分大小寫
    .if SDWORD ptr eax>0
        ;lpRet.x與lpRet.y,分別是整個匹配字符串的開始地址與結束地址.
        ;這個是不會變的。
        ;如果表達式中沒有符號{}引用,則iCount永遠為1
        ;這里有兩個{},分別引出參數與值,一共是3個。
        .if iCount==3
            invoke GetRetString,addr lpRet[sizeof POINT],
                    addr buffer,sizeof buffer-1
            invoke MessageBox,0,addr buffer,CTXT("參數"),0 ;顯示 OUT
            invoke GetRetString,addr lpRet[sizeof POINT*2],
                    addr buffer,sizeof buffer-1
            invoke MessageBox,0,addr buffer,CTXT("值"),0         
                    ;顯示 "Main.exe" 或 Main.exe
        .elseif iCount==2    ;在使用lp4時才會有這個判斷分支.
            invoke GetRetString,addr lpRet,addr buffer,sizeof buffer-1
            invoke MessageBox,0,addr buffer,CTXT("無值"),0    
                ;顯示整個匹配
            ;/OUT之后無參數
        .endif
    .else
;        ;錯誤處理
;        .if eax==-1
;            
;        .elseif eax==-2
;            ... ...
;        .endif
    .endif
    invoke ExitProcess,0
END START
 

    代碼中都有說明,使用其實是很簡單的,這個表達式庫最強的地方,在于可以選擇性地獲得結果,并一次性得到別的表達式需要多次查找才能得到的效果。是專門為程序員使用而定制的,使用這個表達式庫,最重要的在于了解它的運作原理,使用起來才會得心應手。

我們就表達式來進行分析:

源字符串:
link.exe /SUBSYSTEM:WINDOWS /nologo /OUT:"Main.exe" "Main.obj" "Main.RES"
使用lp2 db '/{OUT}:{(\")+>}',0 時,拆分來分析:
/
{
    OUT
}
:
{
    (\")+<
        ?+<
            \"
        >
    >
}
    找到字符/,然后匹配OUT,如果有,返回位置(使用了符號{}),接著,后面必須是:號,然后返回兩個”號之間的位置,?+<\”>,表示,任意字符直到碰到”號,合起來,就是/OUT:”*”,引號之間的可以是任意字符。
    lp3 db '/{OUT}:(\")+<{?+[\"]}\">',0

    這個與lp2的區別在于,返回的值不包含引號, {?+[\"]}\",?+[\”]表示任意字符直到碰到”號,但不把”號放入這次查找范圍之內,也就是指針移動到了”號之前,這樣后面需要再次用\”來匹配。如果已經是表達式的最后,可以不填。
   lp4 db '/{OUT}(:(\")+<{?+[\"]}\">)*',0

    這個表達式后面的部分用()*來包含,也就是表示,包含的這整個表達式都可以不要。這樣,當只有前面的/OUT匹配時,仍然會返回成功,但返回的位置只有前面的。
   lp5 db '( +{\"?+<\">})+',0

    這個表達式查找并返回所有引號包含的字符串,但必須是空格開頭,這樣/OUT:”Main.exe”這一項就不會查找到。\"?+<\">就是返回引號之間的所有字符,()+表示,循 環地用這個表達式匹配成功之后的字符串,直到失敗。這種時候,返回的位置{}個數是不確定的。這里使用了()+,也就是表示,至少要有1個,如果是使用()*,則一個都沒有,都會返回成功。這就看使用者如果取舍了。

    上述的例子一次性得到/SUBSYSTEM:WINDOWS與/OUT:”Main.exe”,看看吧:
    (?+>)}>)+

    要注意,這個表達式查找后,iCount是大于3的喔。修改顯示的代碼為:

    .if iCount>1
        Xor ebx,ebx
        @@:
        invoke GetRetString,addr lpRet[ebx*sizeof POINT],addr buffer,sizeof buffer-1
        invoke MessageBox,0,addr buffer,CTXT("顯示"),0

        inc ebx
        cmp ebx,iCount
        jl @B
    .endif

    這樣可以依次顯示所有抓到的字串。看很簡單吧。

    如果要確定一個字串中是否包含某個字串,如在 Welcome中查找com,直接查找com即可,表達式搜索函數,是先從最開始進行搜索,一個一個向后來匹配,直到完成或失敗,才結束的。

    如果是確定不包含com呢?使用!(com)吧,如果包含這個,則表達式失敗。

    詳細的,請大家多做一下測試吧,總之,這個表達式庫,是專門為程序員使用而寫的,強調查找與處理的方便性,而不在于功能如何復雜,所以,能夠用在程序開發中的地方是非常之多的,別的表達式庫,使用者總會認為太復雜,如果用得少還不如自己開發專用的函數來完成,事實上,我的這個庫已經夠復雜的了T_T,多分析與組合表達式,是可以實現極為快速的查找的,尤其是需要處理某些特殊的查找時,很多時候,使用這個函數和好的表達式,一次性就可以得到需要的所有字符與結果。當然必須以目標查找字串的格式而定制表達式。同一個表達式,在不同的字串查找中是不同的。

    因為表達式的復雜性,是沒辦法詳細舉例的,大家可以利用上述的例子,詳細地進行測試,在下載的表達式庫中,還包含一個測試程序,是專門用來測試表達式是否正確的,根據返回的錯誤,可以慢慢地熟悉,有任何的問題,你可以在我們的論壇提出。





--------------------------------------------------------------------------------

歡迎訪問AoGo匯編小站:http://www.aogosoft.com/

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品一区二区三区香蕉蜜桃| 成人中文字幕合集| 亚洲国产精品久久一线不卡| 老司机精品视频一区二区三区| 国产一区二区三区黄视频 | 国产欧美日韩在线| 一区二区免费在线播放| 国产综合色产在线精品| 欧美三级午夜理伦三级中视频| 国产欧美日韩三区| 激情久久五月天| 3atv一区二区三区| 亚洲一区二区三区中文字幕| 高清不卡在线观看| 久久精品免费在线观看| 麻豆国产精品官网| 7777精品伊人久久久大香线蕉完整版| 国产精品久久久久久户外露出| 激情国产一区二区| 日韩一级片在线播放| 午夜精品久久久久久久| 欧美伊人久久久久久久久影院 | 91天堂素人约啪| 国产欧美日韩亚州综合| 国产传媒久久文化传媒| 亚洲精品一区二区三区香蕉| 秋霞国产午夜精品免费视频| 欧美精品三级在线观看| 午夜伊人狠狠久久| 欧美浪妇xxxx高跟鞋交| 亚洲午夜三级在线| 欧美日产在线观看| 日韩国产高清影视| 日韩亚洲欧美中文三级| 免费在线观看精品| 久久综合九色综合欧美98| 国产在线不卡一区| 国产精品色在线| 91极品视觉盛宴| 亚洲制服丝袜av| 555www色欧美视频| 麻豆久久久久久| 国产午夜精品一区二区三区嫩草| 国产精品资源在线看| 国产精品污www在线观看| 波多野结衣亚洲| 亚洲精品一二三| 欧美一级二级三级乱码| 国产麻豆日韩欧美久久| 亚洲欧洲日韩在线| 欧美丝袜自拍制服另类| 三级影片在线观看欧美日韩一区二区| 欧美老肥妇做.爰bbww视频| 另类小说色综合网站| 久久久久久久综合| 99久久精品免费看| 五月婷婷综合在线| 久久久久国产精品厨房| 99久久精品久久久久久清纯| 亚洲午夜国产一区99re久久| 欧美成va人片在线观看| 成人一级片在线观看| 一区二区三区成人| 欧美变态口味重另类| 成人av网址在线| 亚洲免费观看高清完整| 精品少妇一区二区三区在线播放| 国产91高潮流白浆在线麻豆| 亚洲国产精品人人做人人爽| 精品国产免费一区二区三区香蕉| 91小视频在线免费看| 美女脱光内衣内裤视频久久影院| 国产精品久久久久久久裸模| 7777精品伊人久久久大香线蕉完整版 | 麻豆成人91精品二区三区| 国产精品污网站| 欧美久久久一区| jlzzjlzz亚洲女人18| 免费观看日韩电影| 一区二区三区成人| 久久九九久久九九| 欧美一区二区视频在线观看2020| 成人国产精品免费观看动漫| 蜜臀91精品一区二区三区| 亚洲精品伦理在线| 亚洲国产精品黑人久久久| 777亚洲妇女| 欧美在线一区二区| 成人国产在线观看| 捆绑变态av一区二区三区| 亚洲精品欧美激情| 国产精品久久久久一区| 久久久久久日产精品| 3d动漫精品啪啪一区二区竹菊 | 国产精品亚洲成人| 日韩精品1区2区3区| 亚洲一区二区欧美日韩| 中文文精品字幕一区二区| 欧美videossexotv100| 欧美剧在线免费观看网站| av男人天堂一区| 国产成人亚洲综合a∨婷婷 | 91麻豆精品国产自产在线观看一区| 成人免费视频免费观看| 国产精品影视网| 精品中文字幕一区二区| 免费久久99精品国产| 日韩 欧美一区二区三区| 日韩电影免费一区| 日韩**一区毛片| 奇米一区二区三区av| 精品一区二区三区日韩| 免费一级片91| 久久99日本精品| 激情av综合网| 国产精品一二三| 国产福利精品导航| 国产成人av电影免费在线观看| 国产精品一区一区三区| 国产尤物一区二区在线| 国产九色精品成人porny| 国产电影一区在线| 99精品视频在线观看| 91免费版在线看| 色8久久精品久久久久久蜜| 91看片淫黄大片一级| 91国偷自产一区二区三区成为亚洲经典| 91黄色小视频| 欧美一区中文字幕| 欧美精品一区二区精品网| 国产精品视频线看| 亚洲综合色自拍一区| 免费精品99久久国产综合精品| 精一区二区三区| 99久久er热在这里只有精品15| 色婷婷综合久色| 欧美一区午夜精品| 久久精品网站免费观看| 亚洲精品国产无套在线观| 日韩激情一二三区| 国产精品一二一区| 在线欧美日韩精品| 欧美va亚洲va在线观看蝴蝶网| 中文字幕欧美激情| 亚洲线精品一区二区三区 | 国产91丝袜在线播放| 色综合欧美在线| 欧美xxxxxxxx| 亚洲人成网站精品片在线观看| 亚洲一区在线视频| 精品一区二区影视| 97超碰欧美中文字幕| 欧美精选午夜久久久乱码6080| 久久久国产午夜精品| 亚洲一区二区免费视频| 国产精品2024| 欧美日韩亚洲综合在线| 欧美国产一区在线| 首页国产欧美日韩丝袜| 99久久精品国产导航| 日韩欧美色电影| 亚洲高清视频中文字幕| 成人在线视频一区| 日韩一区二区精品葵司在线| 亚洲欧洲国产日韩| 韩国欧美国产1区| 欧美精品丝袜久久久中文字幕| 亚洲欧洲美洲综合色网| 狠狠色丁香久久婷婷综合丁香| 欧美亚洲国产怡红院影院| 国产欧美日韩三区| 精品制服美女丁香| 欧美日韩激情一区二区三区| 中文字幕一区二区视频| 国产精品一区二区免费不卡| 9191精品国产综合久久久久久| 亚洲欧洲av另类| 国产成人精品免费网站| 欧美一级日韩免费不卡| 亚洲精品菠萝久久久久久久| 国产精品18久久久久| 精品黑人一区二区三区久久| 亚洲国产欧美在线人成| 在线一区二区三区四区五区| 1024国产精品| 91在线视频网址| ㊣最新国产の精品bt伙计久久| 国产美女主播视频一区| 欧美不卡在线视频| 久久国产福利国产秒拍| 日韩丝袜情趣美女图片| 美女视频一区在线观看| 欧美一个色资源| 麻豆精品新av中文字幕| 日韩欧美国产小视频| 麻豆91小视频| 日韩视频在线你懂得| 久久精品99国产精品| 欧美变态tickling挠脚心| 麻豆极品一区二区三区|