标题:如何用正则表达式消除JSP动态脚本?
取消只看楼主
牛腩
Rank: 3Rank: 3
来 自:南宁
等 级:论坛游侠
威 望:1
帖 子:59
专家分:161
注 册:2007-6-3
 问题点数:0 回复次数:0 
如何用正则表达式消除JSP动态脚本?
我从网上下载了很多JSP源码,里面全是用<%....%>这种形式写的,现在我想把他们全都消除了,自己用javabean+servlet来练练手(SSH没有学,太难)。。。

本来的做法是用DW打开后一处一处脚本的慢慢删除的,可是后来删到烦死,看马士兵的正则表达式后有个想法,用里面的替换把<%....%>里面的东西全都替换为空,自己试了一下。发现也没想像中的那么简单,如果用输入流每次只读一行的话那就有好多种判断条件了,后来决定是把整个网页文件存到一String里面再处理,可是试了一下,还是有问题,可能是我的正则表达式不正确吧,请懂的朋友帮忙看一下,多谢了。。。

package regexp;
import java.io.*;
import java.util.regex.*;
public class ClearJSP {
public static void main(String[] args) {
try {
BufferedReader br = new BufferedReader(new FileReader(
"E:\\jbproject\\RegExp\\test.jsp"));
String line = "";
String temp = "";
while ( (temp = br.readLine()) != null) {
line += temp;
}
parse(line);
}
catch (FileNotFoundException ex) {
}
catch (IOException ex) {
}
}
private static void parse(String line) {
Pattern p = Pattern.compile("<%\\w*%>");
Matcher m = p.matcher(line);
m.replaceAll(line);
System.out.println("修改前:"+line);
line = line.replaceAll("<%\\w*%>","");
System.out.println("修改后:"+line);
}
}

我知道是有很多替代方法把JSP动态脚本去除的,比如只是把<% %>换成<-- -->就是,可是有时候我们在学编程的过程中达到目的不是最重要的,最重要的是为了练习而练习。。。。我就是想知道怎么用正则表达式替换的。。。
搜索更多相关主题的帖子: 正则表达式 JSP 脚本 动态 消除 
2007-11-21 09:49



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-187502-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.828078 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved