Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/393.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java正则表达式,替换sql查询中的关键字_Java_Sql_Regex_Oracle - Fatal编程技术网

Java正则表达式,替换sql查询中的关键字

Java正则表达式,替换sql查询中的关键字,java,sql,regex,oracle,Java,Sql,Regex,Oracle,我正在尝试解析数千个Oracle SQL脚本WHERE子句 我想用其他内容替换关键字user(与当前登录的人一样)。我不能只做一个“全部替换”,因为user可能会作为where子句中另一个单词的一部分使用,例如,payuser。我不能简单地检查它的两边是否有空格,因为它可能在一个括号内,或者旁边有一个等号,或者其他一些数学字符 其中(username=用户或admin=用户)和loggedIn=用户按支付组代码排序 在replaceAll中,需要使用双转义符号: where = where.re

我正在尝试解析数千个Oracle SQL脚本WHERE子句

我想用其他内容替换关键字user(与当前登录的人一样)。我不能只做一个“全部替换”,因为user可能会作为where子句中另一个单词的一部分使用,例如,
payuser
。我不能简单地检查它的两边是否有空格,因为它可能在一个括号内,或者旁边有一个等号,或者其他一些数学字符

其中(username=用户或admin=用户)和loggedIn=用户按支付组代码排序


replaceAll
中,需要使用双转义符号:

where = where.replaceAll("(?i)\\buser\\b", "test");
如果没有双转义符,则匹配退格BS符号


请参见

能否提供示例输入和所需输出?谢谢,我现在还使用(?I)忽略大小写,以便正则表达式看起来像“(?I)\\buser\\b”。
where = where.replaceAll("(?i)\\buser\\b", "test");