当前位置: 首页 > article >正文

python通过正则匹配SQL

pattern = r"(?:[^;']|'(?:\\.|[^'])*')+;"
sql_list = [match.group().strip() for match in re.finditer(pattern, execute_sql) if match.group().strip()]

for sql in sql_list:
    print(sql)

(?:[^;']|'(?:\\.|[^'])*')+;
匹配 连续的非分号内容单引号包裹的字符串,并且可以多次出现。
拆解:

[^;']:匹配单引号或分号之外的字符。
'(?:\\.|[^'])*':匹配单引号包裹的字符串。
+:匹配 1 次或多次。
;:匹配分号结尾

(?:)表示非捕获分组


http://www.kler.cn/a/454070.html

相关文章:

  • 代码随想录Day56 108. 冗余连接,109. 冗余连接II。
  • MongoDB 创建用户、User、Role 相关 操作
  • 【089】基于51单片机环境监测系统【Proteus仿真+Keil程序+报告+原理图】
  • 费舍尔信息矩阵全面讲述
  • 在 RK3568 Linux 系统上使用 TUN 设备:详细教程
  • 解锁高效密码:适当休息,让学习状态满格
  • 【每日学点鸿蒙知识】线程创建、构造函数中创建变量仍报错、List上下拖拽,调用JS代码、无法选择本地csr文件问题
  • 修改vue-element-admin,如何连接我们的后端
  • JavaScript 中的对象方法
  • 人工智能与云计算的结合:如何释放数据的无限潜力?
  • Mono里运行C#脚本4—mono_mutex_t 锁的实现
  • VSCode/Visual Studio Code实现点击方法名跳转到具体方法的
  • C# .Net Web 路由相关配置
  • Android学习19 -- NDK4--共享内存(TODO)
  • 机器学习常用评估Metric(ACC、AUC、ROC)
  • 自動提取API爬蟲代理怎麼實現?
  • Docker环境下数据库持久化与多实例扩展实践指南
  • 再谈ChatGPT降智:已蔓延到全端,附解决方案!
  • docker怎么复制容器的文件到宿主机
  • 基于Spring Boot的电影售票系统
  • OCR(三)windows 环境基于c++的 paddle ocr 编译【CPU版本】
  • flask后端开发(6):模板继承
  • 【C++boost::asio网络编程】有关服务端退出方法的笔记
  • 华为OD E卷(100分)39-最长子字符串的长度(二)
  • SpringBoot + HttpSession 自定义生成sessionId
  • 数据中台从centos升级为国产操作系统后,资源增加字段时,提交报500错误