【问题标题】:Substituting with an uppercase version from a set of capture groups用一组捕获组中的大写版本替换
【发布时间】:2020-07-31 09:03:01
【问题描述】:

我正在尝试执行以下操作

找到以下任何一个词:SELECT / FROM / WHERE 它们可以在任何情况下,例如选择/从/在哪里

然后用对应的大写单词替换每个单词。

我正在尝试使用 SSMS 查找和替换来执行此操作,它使用 .NET 正则表达式。

默认查找设置不区分大小写。下面找到ok的话:

(SELECT)|(FROM)|(WHERE)

但是,如果我在替换中执行以下操作,则无论它们最初是用哪种情况写的,都保持不变:

$1$2$3

有没有办法一步完成?

【问题讨论】:

  • 如果没有\U/\E运营商支持,那么是不可能的。
  • @WiktorStribiżew 感谢 Wiktor - 真可惜。如果您想将其添加为答案,我想您的评论实际上就是我的问题的答案?

标签: .net regex


【解决方案1】:

对于未来的观众,我添加了这个答案。

正如 Wiktor Stribizew 所说,如果不支持 \U 运营商支持,那么这是不可能的。

我在另一个编辑器 Notepad++ 中打开文件并执行以下操作:

搜索表达式:
(select|sum|into|where | on |from |join |inner |outer | as | cast|union )
替换表达式:
\U$1

【讨论】:

    猜你喜欢
    • 2021-12-01
    • 2019-12-02
    • 2011-09-02
    • 2015-03-25
    • 1970-01-01
    • 2011-02-24
    • 2021-11-27
    相关资源
    最近更新 更多