2

给定编辑器(例如 Rubymine 或 IntelliJ)中的一堆字符串,如下所示:

清单:[“必需”,“入境时待定”,“呼吸器、手套、工作服等”]

如何使用内置的 Regex 搜索和替换将字母转换为大写

对此:

清单:[“必需”,“入境时待定”,“呼吸器、手套、工作服等”]

注意:“待定”应保留为“待定”而不是“待定”

4

2 回答 2

2

您可以匹配任何前面带有 的小写字母"

搜索:   (?<=")\p{Ll}
替换\U$0

请参阅正则表达式演示。检查匹配大小写以确保仅匹配小写字母。

细节

  • (?<=")- 一个积极的向后看,确保前面的字符是"
  • \p{Ll}- 任何 Unicode 小写字母。

请注意\U- 大写转换运算符 -\E如果您不需要限制其范围并且$0反向引用指的是整个匹配值,则不需要尾随,无需使用捕获组包装整个模式。

于 2020-01-26T22:07:11.987 回答
2

(我认为 IntelliJ 和 RubyMine 具有有效的 Java 正则表达式规则。)

(对于我未来的自己)我使用了以下正则表达式:

搜索:"(?)([a-z])

代替:"\U$1\E

顺便说一句:无法弄清楚为什么还选择了大写字母。(耸肩)

在此处输入图像描述

它奏效了!

于 2020-01-26T21:37:25.513 回答