日期:2014-05-20  浏览次数:20575 次

关于正则表达式,急啊。急
有如下代码:
<script>
  var a = ${"aaaa"};
  var b = ${?}; ?的值为a,即${"aaaa"}
  
</script>
  
  要得到b的值,如何得到呢,求各位高手指点啊。 急

  我的做法如下:var a = ${"aaaa"};
  var b = ${eval("a")} ; 但是不行额。。。。。。。

------解决方案--------------------
Java code

Pattern p = Pattern.compile("var a = \\$\\{(.*)\\}.*?var b = (\\$\\{(.*)\\})");
        String strs = "<script> var a = ${\"aaaa\"}; var b = ${?}; </script>";
        Matcher m = p.matcher(strs);
        String strs2 = "";
        while(m.find()) {
            strs2 = m.group(2);
            String test1 = "\\"+m.group(3);
            String test2 = m.group(1);
            strs2 = strs2.replaceAll(test1, test2);
        }
        System.out.println(strs2);