Notepad++ 将第一个小写字母转换为大写字母,将大写字母转换为小写字母(正则表达式?)

Notepad++ 将第一个小写字母转换为大写字母,将大写字母转换为小写字母(正则表达式?),notepad++,case-sensitive,uppercase,lowercase,emeditor,Notepad++,Case Sensitive,Uppercase,Lowercase,Emeditor,我在这个布局中有一个巨大的文件: world12345:Betaalpha world12344:alphabeta world12343:ZetaBeta world12342:!betatheta 我需要将“:”后面的第一个小写字母转换为大写,将第一个大写字母转换为小写。 我试过使用notepad++和emeditor,但我对正则表达式没有太多经验 这就是我希望它成为之后的样子(regex?) 我曾尝试在网络上搜索npp+中的正则表达式,但没有结果。 不幸的是,我不

我在这个布局中有一个巨大的文件:

world12345:Betaalpha    
world12344:alphabeta    
world12343:ZetaBeta    
world12342:!betatheta
我需要将“:”后面的第一个小写字母转换为大写,将第一个大写字母转换为小写。 我试过使用notepad++和emeditor,但我对正则表达式没有太多经验

这就是我希望它成为之后的样子(regex?)

我曾尝试在网络上搜索npp+中的正则表达式,但没有结果。 不幸的是,我不是一个编剧,所以我不能自己写一个

提前谢谢

多亏了,我在最初认为你的问题不可能解决后,才找到了解决办法

在记事本++中执行此操作的方法是使用以下选项:

  • 打开“替换”对话框(Ctrl+H)
  • 查找内容:
    ^([^:::+:)([A-Z])|([A-Z])([^::+)$
  • 替换为:
    $1\L$3\E\U$4\E$5
  • 检查火柴盒
  • 检查环绕
  • 选择正则表达式
  • 取消选中。匹配新行
  • 按全部替换
下面是一个正在运行的GIF:

“查找内容”字段的细分:

  • 正则表达式前面的
    ^
    表示行的开头,末尾的
    $
    表示行的结尾。这可以防止它懒惰或换行到下一行
  • ([^::+:)
    表示行开头的字符,允许除
    之外的所有字符。这是组
    $1
  • ([A-Z])|([A-Z])
    表示
    后面的第一个字符。如果没有大写或小写字母,它将跳过该行。
    • $2
      将是第一个字符,不考虑大小写。我们将在替换时忽略这一点
    • 如果组
      $3
      为大写,则它将是第一个字符,否则
      $3
      将为空
    • 如果组
      $4
      为小写,则它将是第一个字符,否则
      $4
      将为空
  • ([^::]+)
    表示行末尾的字符,允许除
    以外的所有字符。这是组
    $5
替换为字段的细分:

  • $1
    将是如上所述的第一组
  • \L$3\E
    将如上所述将组
    $3
    转换为小写
  • \U$4\E'将如上所述将组
    $4`转换为大写
  • $5
    将是如上所述的最后一组

\L
\U
分别代表“开始转换为小写”或“大写”
\E
代表“停止转换”。由于
$3
$4
中只有一个包含第一个字符(另一个为空),因此只能在我们需要的情况下进行转换。

这是我能想到的最简单的解决方案。

查找内容:
:(\u);:(\l)

替换为:
:\l($1)\u($2)

启用设置:环绕和匹配大小写

搜索模式:正则表达式

按全部替换

解释
\u匹配并转换大写字母,\l匹配并转换小写字母。


很好,我不知道匹配的是
\u\l
。谢谢你的回复,也尝试了你的答案。同样也能做到这一点,谢谢:)@Toto这是Notepad++特有的正则表达式
\u
[a-Z]
\l
=
[a-Z]
的缩写。因此,在其他软件中,可以用它来替换。由于您的答案很容易解决了我的问题,我在\n之后必须使用小写,因此我首先将\n替换为%(我在文本中不使用%),然后使用您的示例,然后将%改为\n…:汉克斯,我先用了你的解决方案。它成功了!也非常感谢你的解释
world12345:betaalpha    
world12344:Alphabeta    
world12343:zetaBeta    
world12342:!betatheta   (unchanged, as the first char is a special char)