public class Demo {

public static void main(String[] args) {

String sql1 = "use test;select * from default.abc where dt='abc;faf;fff' and ct=\"2012;43\" ; ";

sql1 = "select * from aaa where dt= '20 ;12; 34;3' AND name='fafae; fa ; a'";

//配置“” 或 ‘’ 里的内容

Pattern p1 = Pattern.compile("'.*'|\".*\"");//贪婪匹配

Matcher m1 = p1.matcher(sql1);

String replace1 = null;

while (m1.find()) {

// 贪婪匹配 group= '20 ;12; 34;3' AND name='fafae; fa ; a'

String group = m1.group();

if (group.contains(";")) {

replace1 = sql1.replace(group, "'PLACEHOLDER'");

sql1 = replace1;

}

}

System.out.println("贪婪匹配" + sql1);

String sql2 = "select * from aaa where dt= '20 ;12; 34;3' AND name='fafae; fa ; a'";

//配置“” 或 ‘’ 里的内容

Pattern p2 = Pattern.compile("'.*?'|\".*?\"");//非贪婪匹配

Matcher m2 = p2.matcher(sql2);

String replace2 = null;

while (m2.find()) {

// 第一次匹配 group '20 ;12; 34;3'

// 第二次匹配 group 'fafae; fa ; a'

String group = m2.group();

if (group.contains(";")) {

replace2 = sql2.replace(group, "'PLACEHOLDER'");

sql2 = replace2;

}

}

System.out.println("非贪婪匹配" + sql2);

}

}

结果:

贪婪匹配 select * from aaa where dt= 'PLACEHOLDER'

非贪婪匹配select * from aaa where dt= 'PLACEHOLDER' AND name='PLACEHOLDER'

java 正则匹配引号_java 正则 贪婪匹配 匹配sql语句中的引号内容相关推荐

  1. java if 定义变量_java – 如何分配在if else语句中定义的变量

    我需要创建能够在GMT中找到当前小时并将其转换为EST的内容. 当我尝试编译并运行程序时,我收到此错误:currentHourEST无法解析为变量.我认为我的问题是if else语句中的某个地方,因为 ...

  2. mysql host %s_python mysql:虽然%s和列匹配,但并非SQL语句中使用的所有参数

    PythonMySQL.connector一直给我错误不是SQL语句中使用的所有参数.这是我的代码:import mysql.connector con = mysql.connector.Conne ...

  3. python解析sql语句表名_python正则表达式匹配sql语句中的表名

    [ string text = "select * from [admin] where aa=1 and cc='b' order by aa desc "; Regex reg ...

  4. php引号变量_下列PHP数据库insert语句中变量前后的点和双引号有什么作用?

    这就要从双引号和单引号的作用讲起: 双引号里面的字段会经过编译器解释然后再当作HTML代码输出,但是单引号里面的不需要解释,直接输出.例如: $abc='I love u'; echo $abc // ...

  5. 总结一下SQL语句中引号(')、quotedstr()、('')、format()在SQL语句中的用法

    总结一下SQL语句中引号(').quotedstr().('').format()在SQL语句中的用法以 及SQL语句中日期格式的表示(#).('') 在Delphi中进行字符变量连接相加时单引号用( ...

  6. (转载)总结一下SQL语句中引号(')、quotedstr()、('')、format()在SQL语句中的用法...

    总结一下SQL语句中引号(').quotedstr().('').format()在SQL语句中的用法 总结一下SQL语句中引号(').quotedstr().('').format()在SQL语句中 ...

  7. SQL语句中引号(')、quotedstr()、('')、format()在SQL语句中的用法

    总结一下SQL语句中引号(').quotedstr().('').format()在SQL语句中的用法总结一下SQL语句中引号(').quotedstr().('').format()在SQL语句中的 ...

  8. 【SQL实战经验一】:SQL语句中存在英文的单引号、双引号问题

    SQL语句中存在英文的单引号.双引号问题 场景: 1.需要将 [O'MALL侨城商业中心]插入到Sqlite数据库中 update datatable set name_1 = 'O''MALL侨城商 ...

  9. java得到sql语句表名_使用fdb-sql-parser替换SQL语句中的表名

    导语 因为项目中要做跨数据源的数据分析功能,所以使用Presto这个开源框架.但是使用Presto的时候需要指定当前表所在的数据库类型和数据库名,所以需要对SQL语句中的表名进行捕获和替换. 一.探索 ...

最新文章

  1. python做后端速度慢吗_【后端开发】python为什么慢?
  2. 1.windows网络配置无法上网
  3. ubuntu shell实现加减乘除
  4. UGC产品的氛围和秩序
  5. Goldengate介绍
  6. 第44讲:scrapy中间键Middleware的使用
  7. JavaScript Cookie的操作
  8. 米斯特白帽培训讲义 漏洞篇 弱口令、爆破、遍历
  9. BJ-100型矩形波导传输TE10模,测得波导中相邻两个电场波节点之间的距离为19.88mm
  10. python数据结构5 - 排序与搜索
  11. Linux CFS调度系统----周期性调度器
  12. Juniper SRX210恢复密码过程
  13. python列表后面两个括号_python列表[]中括号
  14. Hive之窗口函数(一文搞懂)
  15. 集成电路总设计(Ⅴ)
  16. mysql中增删改查的详解 例题 sql 语句
  17. PLC编程语言你知道多少
  18. UPC6605 所罗门王的宝藏
  19. 网易互娱的一道笔试题
  20. 吉他笔记 solo 和弦 推弦 音程

热门文章

  1. 互联网50周年!这有它的一张“出生证明”
  2. 确认过眼神,你是ApacheWay的人 | COSCon‘18 特辑
  3. look look C#7
  4. 一个简易的反射类库NMSReflector
  5. 开源软件那么多,我们该如何选择?|洞见
  6. 文档数据库RavenDB-介绍与初体验
  7. django13:Session与Cookie操作
  8. Windows11 发布更新 Insider Preview Build 22000.100
  9. 【ArcGIS Engine二次开发】入门基础(1):ArcGIS Engine简介及开发环境搭建
  10. 【ArcGIS风暴】全站仪、RTK测量坐标数据在CASS和ArcGIS中展点的区别和联系(带数据)