读文件的一行数据,将其中所有<=&myVar&>替换成"+myVar+"
例如:
String query_<&=programvariable1&>=Show.getString((String) request.getAttribute("query_<&=programvariable2&>"));最后要替换成:
String query_"+programvariable1+"=Show.getString((String) request.getAttribute("query_"+programvariable2+""));一行中可能有多个<=&myVar&>
并且<=&和&>按照相临配对,不成对的不替换.
例如:
String query_<&=programvariable1&>=Show.getString((String) request.getAttribute("query_<&=programvariable2&>"));最后要替换成:
String query_"+programvariable1+"=Show.getString((String) request.getAttribute("query_"+programvariable2+""));一行中可能有多个<=&myVar&>
并且<=&和&>按照相临配对,不成对的不替换.
所以这次要个好使的!
System.out.println(aa.replaceAll("<&=", "\"+").replaceAll("&>", "+\""));
比如:
asdgfad<&=fdgf&>lasdf&>
转换成
asdgfad"+fdgf+"lasdf&>
Pattern pattern = Pattern.compile("<=.+&>");
String query = XXXXXX;
Matcher matcher = pattern.matcher(query)
while(matcher.find()){
//替换
}
Pattern pattern = Pattern.compile("<=&.+&>")
知识C#学过一点.
java的不太晓得怎么回事
你的方法还是替换的最两边的,比如:
String query_<&=programvariable1&>=Show.getString((String) request.getAttribute("query_<&=programvariable2&>"));
替换为:String query_"));即,
<&=programvariable1&>=Show.getString((String) request.getAttribute("query_<&=programvariable2&>被看成了一个大的<&=.+&>替换掉了.
var str="String query_<&=programvariable1&>=Show.getString((String) request.getAttribute(\"query_<&=programvariable2&>\"));";
alert(str.replace(/<&=(.+?)&>/g,"\"+$1+\""));
</script>
有两种办法
1、如果你的编辑器或者说如果是你在程序中用,要是能够设置贪婪模式的话,昨天那个就能用了,javascript下的示例:/<%=(.+)%>/g 不过这个没测试过哈,懒!!!
2、"aaaaaaa<%=myVar%>aaa<%=myVar%>aaaaaa".replaceAll("<%=((.(?!<%=))+)%>","\"+$1+\"")