我有一个sql:insert into t(cl1,cl2) values(val1,val2);
现在想用正则表达式替换val2,正则表达式怎么写?

解决方案 »

  1.   

    这能匹配sql:insert into t(cl1,cl2) values(val1,val2);串吗?
    ********val2******也能被匹配
      

  2.   

    "\\bval2\\b"
    insert into t(cl1,cl2) values(val1,val2);Found 1 match(es):start=35, end=39
    Group(0) = val2********val2******Found 1 match(es):start=8, end=12
    Group(0) = val2
      

  3.   

    楼主是这个意思?
    楼主的val2是个具体的值吧应该
      

  4.   

    3楼写的看不懂,可能还没明白我的意思:
    场景是这样的,我从数据库中导出脚本,然后在另一个数据库执行脚本,但是导出的脚本需要被修改
    修改的是insert into t(cl1,cl2) values(val1,val2);中的val2的值,这个sql只有val1是变的,
    我现在很清楚使用两次模式匹配可以做,第一次使用insert into t(cl1,cl2) values(val1,val2);对应的pattern进行匹配获取整个字符串,第二次直接replace val2为目标值,但是这样太繁琐,就是想请教大家java中能不能一次把它做掉
      

  5.   

    只是替换val2的话
    "insert into t(cl1,cl2) values(val1,val2);".replaceFirst("\\bval2\\b","你的值"));