读书人

求一 正则表达式,该如何处理

发布时间: 2012-01-11 22:28:46 作者: rapoo

求一 正则表达式
请问用正则如何配匹出ASP网页中所有的ASP代码,例如:
<%'开始%>
这里是html代码12345
<%
a="这里是asp代码%"
response.write a
%>
这里是html代码56789
<%
b="这里是asp代码2"
response.write b
%>

即:得出
<%'开始%>
<%
a="这里是asp代码%"
response.write a
%>
<%
b="这里是asp代码2"
response.write b
%>

--------------------
参考:我用这个"<%((.|\r\n)[^%>]*)%>"可以得出
<%'开始%>
<%
b="这里是asp代码2"
response.write b
%>

但是得不出
<%
a="这里是asp代码%"
response.write a
%>

请问我哪个地方写错了????????

[解决办法]
[^% >]已经说明不可以为%或>,所以如果你的ASP代码中有%或>则不行了!
[解决办法]

Java code
        StringBuffer sb = new StringBuffer("");        sb.append("test \r\n");        sb.append("<%  \r\n");        sb.append("a=\"asfdsaf%\"  \r\n");        sb.append("response.write a  \r\n");        sb.append("%>  \r\n");        sb.append("tttt  \r\n");        sb.append("<%  \r\n");        sb.append("b=\"2323423sdfasdf2\"  \r\n");        sb.append("response.write b  \r\n");        sb.append("%>\r\n");        Pattern p = Pattern.compile("<%(.|\r\n)*?(?=%>)%>");        Matcher m = p.matcher(sb.toString());                while(m.find()){            System.out.println("1: "+m.group(0));        }
[解决办法]
大菜鸟 果然不同凡响 呵呵
正则很厉害啊
佩服

读书人网 >Java Web开发

热点推荐