正则表达式 (VBScript) (30分)

  • 主题发起人 主题发起人 chengulv
  • 开始时间 开始时间
C

chengulv

Unregistered / Unconfirmed
GUEST, unregistred user!
现在有一文件test.asp 我要完成这样的替换操作 用VBScript 要怎么样写?
替换要求: 用空格将 test.asp 中的VBScript 和 JavaScript 的注释部分。
也就是 VBScript 中单引号("'")后面的内容 和JavaScript 中的 "/* */ "之间,还有"//" 这后的内容。
减低要求:只要能删除文件中所有的注释就行。

文件test.asp内容如下:
'-------------------test.asp (Start) ----------------------
<%
'这里是 VBScript 的注释
Function ReplaceTest(patrn, replStr)
Dim regEx, str1 ' 建立变量。
str1 = "The quick brown lazydo
g."
Set regEx = New RegExp ' 建立正则表达式。
regEx.Pattern = patrn ' 设置模式。
regEx.IgnoreCase = True ' 设置是否区分大小写。
ReplaceTest = regEx.Replace(str1, replStr) ' 作替换。
End Function
%>
<script language="javascript">
/* 正则表达
式的应用 */
function resp()
{
//用空格 替换掉文件中的注释部分
}
</script>
'-------------------test.asp (End) ----------------------

 
vbscript的注释 :  '.*  
javascipt的注释:  ///*.*/*// 和 ////.*
 
不行呀,老兄。 VBscript的要是用 '.* 会把其他Html的代码也替换了。如: <div id='mm'></div> 那替换后结果会是<div id= 后面就没有了。
还有注意: 我脚本最终是用VBScript来写的
在JavaScript 中的 ///*.*/*// 不能匹配有换行的/**/
如:
/* 这里
是注释
*/
这样的写法就不能完成了。!
请教,快回!谢了!
 
"//*.*/*/"
我试过了用上面的模式可以匹配同一行中出现的/* */ 可要是换行了就不行了。因为没有匹配到它的换行符。
我知道Chr(13) &amp;
Chr(10) 表示回车换行,/n也是 可怎么样写我也写不出要求的。
我写成 "//*[./n]{0,}/*/" 和 "//*[."&amp;Chr(13) &amp;
Chr(10)&amp;"]{0,}/*/" 都不行
请大虾们指教。
我在线等!
也可加QQ 5667075 讨论!
 
后退
顶部