把下面的文件保存为hta文件,运行即可
<HTML>
<HEAD>
<TITLE>笨狼正则练习器_www.vevb.com武林网 </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 />全局
<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>