You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Notepad++正则表达式实现除单引号内文本外全部转小写?

解决Notepad++中SQL转小写但保留单引号内大小写的问题

需求说明

现有SQL代码:

WITH my_data as
    (SELECT 'XX_abc_123' label from DUAL UNION ALL
     SELECT 'XX_SWU_541324_FFF' from DUAL)
SELECT label from MY_DATA;

需要实现:将单引号以外的所有文本转为小写,同时保留单引号内文本的原有大小写,最终得到:

with my_data as
    (select 'XX_abc_123' label from dual union all
     select 'XX_SWU_541324_FFF' from dual)
select label from my_data;

之前尝试的问题

你之前用的查找规则([a-z])+替换规则\L$1\E逻辑有误,且会把单引号内的内容也一并转小写,不符合需求。

正确实现步骤

在Notepad++中通过正则替换即可完成,操作如下:

  1. 按下Ctrl+H打开替换窗口
  2. 「查找模式」选择「正则表达式」,勾选「匹配大小写」和「.匹配换行符」
  3. 查找内容输入:('.*?')|([A-Z])
    • 该规则会匹配两种内容:一是单引号包裹的完整文本(非贪婪匹配,避免跨引号匹配),二是引号外的所有大写字母
  4. 替换为输入:\1\L\2\E
    • \1保留单引号内的原内容;\L\2\E将匹配到的大写字母转为小写
  5. 点击「全部替换」即可得到目标效果

内容的提问来源于stack exchange,提问作者4532066

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 22:40:43