Java正则表达式,替换sql查询中的关键字
我正在尝试解析数千个Oracle SQL脚本WHERE子句 我想用其他内容替换关键字user(与当前登录的人一样)。我不能只做一个“全部替换”,因为user可能会作为where子句中另一个单词的一部分使用,例如,Java正则表达式,替换sql查询中的关键字,java,sql,regex,oracle,Java,Sql,Regex,Oracle,我正在尝试解析数千个Oracle SQL脚本WHERE子句 我想用其他内容替换关键字user(与当前登录的人一样)。我不能只做一个“全部替换”,因为user可能会作为where子句中另一个单词的一部分使用,例如,payuser。我不能简单地检查它的两边是否有空格,因为它可能在一个括号内,或者旁边有一个等号,或者其他一些数学字符 其中(username=用户或admin=用户)和loggedIn=用户按支付组代码排序 在replaceAll中,需要使用双转义符号: where = where.re
payuser
。我不能简单地检查它的两边是否有空格,因为它可能在一个括号内,或者旁边有一个等号,或者其他一些数学字符
其中(username=用户或admin=用户)和loggedIn=用户按支付组代码排序
在
replaceAll
中,需要使用双转义符号:
where = where.replaceAll("(?i)\\buser\\b", "test");
如果没有双转义符,则匹配退格BS符号
请参见能否提供示例输入和所需输出?谢谢,我现在还使用(?I)忽略大小写,以便正则表达式看起来像“(?I)\\buser\\b”。
where = where.replaceAll("(?i)\\buser\\b", "test");