有这样一个字符串
sql=insert into manage_user (username,password) values ($$USERNAME$$,$$PASSWORD$$)我通过循环传两个parameter参数(比如'1'和'2'),一个一个传
这个方法不知道行不行????,如果行的话compile()里面该如何写呢???
sql=Pattern.compile("$$*$$").matcher(sql).replaceFirst(parameter);我想换成下面的效果
sql=insert into manage_user (username,password) values ('1','2');

解决方案 »

  1.   

    他的正则表达式 $$USERNAME$$  如何写啊??
      

  2.   

    replaceAll("\\$\\$USERNAME\\$\\$","'1'").replaceAll("\\$\\$PASSWORD\\$\\$","'2'")
    试试这个
      

  3.   

    replaceAll("\\$\\$.+\\$\\$","'1'").replace("'1'","'2'")试试看应该也可以采用正则式的非贪婪匹配,手头没有环境,楼主自己试试
    http://www.regexlab.com/zh/regref.htm
    参考这个看看
      

  4.   

    replaceAll("\\$\\$.+\\$\\$","'2'").replace("'2'","'1'")
      

  5.   

    sql=Pattern.compile("$$*$$").matcher(sql).replaceFirst(parameter);
    我必须用这种方式替换,一次替换一个parameter参数,因为程序中$$*$$和参数虽然是对应的
    当不知道具体几个,我用循环替换,
    $$里面可能是任意的数字字母下划线的组合$$
    必须是它的正则表达式
    我才能在程序中用啊