当前位置:主页 > 脚本语言 > DOS/BAT >

学习正则帮手笨狼正则练习器

时间:2020-12-31 15:28:57 | 栏目:DOS/BAT | 点击:

<HTML>
<HEAD>
<TITLE>笨狼正则练习器_www.jb51.net脚本之家 </TITLE>
<style>
body 
{
    font-size:12;
    BACKGROUND: #DADADA;
    margin-left:20;
}

#blockORG
{

    font-family:Verdana;
    font-size:12px;    
    overflow:scroll;
    height:300;

}
#fileORG
{
    width:400;
}
#blockReg
{
    font-family:Verdana;
    font-size:12px;
}    
#showMe
{    
    font-family:Verdana;
    font-size:12px;    
    height:200;
    overflow:visible;
}    
#replaceVar
{    
    font-family:Verdana;
    font-size:12px;
    top:341;    
}
#isScriptDIV
{
    position:absolute;    
    top:361;    
    overflow-x:visible;    
}

</style>
</HEAD>

<BODY>
<INPUT type="file" id="fileORG" onchange = "vbs:showORG"/>
<button  onclick = "vbs:showORG" >载入</button>
<input type="checkbox" id="Imode" checked />忽略大小写
<input type="checkbox" id="Gmode" checked />全局&nbsp;
<button  onclick = "vbs:back" >清空</button>
<button  onclick = "vbs:saveFile" >保存</button><br/>
<textArea id="blockORG"></textArea><br/>
表达式:<input id="blockReg" /><br/>
替换为:<input id="replaceVar" /><input type="hidden" id="jsvalue" />
<div id="isScriptDIV">
    <button  id="normal" onclick="vbs:gogogo">普通替换</button>
    <button  id="isVBS" onclick="vbs:gogogo" >vbs表达式替换</button>
    <button  id="isJS"  onclick="vbs:gogogo">js表达式替换</button>
</div>
<textArea id="showMe" ></textArea>
<SCRIPT LANGUAGE="vbScript"> 
'设置窗体尺寸
    window.resizeTo window.screen.availWidth,window.screen.availHeight 
    window.moveTo 0,0  
    blockORG.style.width = cint(window.screen.availWidth * 0.94)
    blockReg.style.width = px2Int(blockORG.style.width )-100

    replaceVar.style.width = px2Int(blockReg.style.width)-400    

    isScriptDIV.style.left =   px2Int(replaceVar.style.width) +100
    showMe.style.width = blockORG.style.width

    dim fso ,Re 
    set Re = new RegExp 
    set fso = createObject("Scripting.FileSystemObject")
    dim replaceStr

    dim thisFileDir'定义本文件绝对路径
    dim thisFileName'定义本文件名
    dim thisFileFolder'定义本文件夹路径    

    thisFileDir = replace(window.location.href,"file:///","")
    thisFileDir = unescape(replace(thisFileDir,"/","\"))     
    thisFileName = LastOne(thisFileDir,"\")    
    thisFileFolder=getFolderDir(thisFileDir)

sub showORG()
'在文本框内加载文件    
dim f,ts,s
    if fso.FileExists(fileORG.value)  then        
        set f = fso.GetFile(fileORG.value)
        set ts = f.OpenAsTextStream(1)
        s=""
        if not ts.AtEndOfStream then            
            s = ts.ReadAll 
        end if
        ts.Close     
        blockORG.value = s            
    end if            
end sub

Function LastOne(Str,splitStr)
'输入字符和分隔符,得到最后一部分
    LastOne = right(Str,len(Str)-InStrRev(Str,splitStr))
End Function

function getFolderDir(fullDir)
'输入得到全路径,得到文件夹路径
    s=LastOne(fullDir,"\")
    getFolderDir = left(fullDir,len(fullDir)-len(s))
end function

function px2Int(px)
    px2Int = cint(replace(px,"px",""))
end function 

sub gogogo()    
    Re.IgnoreCase = Imode.checked
    Re.Global =   Gmode.checked
    Re.Pattern = blockReg.value
    replaceStr = replaceVar.value
    select case window.event.srcElement.id    
    case "isVBS"
        replaceStr = eval(replaceStr)
    case "isJS"     
        window.execScript "jsvalue.value=eval(replaceVar.value);","javaScript" 
        replaceStr = jsvalue.value    
    end select
    showMe.value = Re.Replace(blockORG.value,replaceStr)
end sub

sub back
    showMe.value = ""
end sub

sub saveFile        
    if fso.FileExists(fileORG.value)  then        
        set f = fso.GetFile(fileORG.value)
        f.copy fileORG.value & makeRand() & ".bak"'创建备份
        set ts = f.OpenAsTextStream(2)
        ts.write showMe.value
        ts.Close
        blockORG.value = showMe.value    
    else
        set ts = fso.OpenTextFile(thisFileFolder & makeRand() & ".txt",2,true)
        ts.write showMe.value
        ts.Close
        blockORG.value = showMe.value
    end if    
end sub

function makeRand()
    dim resault
    resault = mid(cstr(now()),3)
    resault =replace(resault,":","")
    resault =replace(resault,"-","")
    resault =replace(resault," ","")
    makeRand = resault
end function

</SCRIPT>
</BODY>
</HTML>
笨狼正则练习器.hta

您可能感兴趣的文章:

相关文章