Notepad++ 和 Regex:如何将大写句子转换为小写句子?

问题描述

我想使用记事本++将我的句子从大写转换为小写。 如果该句子中的每个字符都是大写,则将该句子中的每个字符都转换为小写。

示例:

我们的句子示例对您有什么帮助? 无论是刚学习英语的人的简单句子还是学术论文的措辞,这款易于使用的句子生成器都将帮助您自信地选择单词。

结果: 我们的句子示例对您有什么帮助? 无论是刚学习英语的人的简单句子还是学术论文的措辞,这款易于使用的句子生成器都将帮助您自信地选择单词。

我尝试过类似 [A-Z][A-Z]+ 并替换为 \l,但很明显我仍然不明白它是如何工作的。你们能帮我吗?

谢谢!

解决方法

您可以尝试使用

(?-i)[A-Z][^a-z?!.]*[?!.]
(?-i)[[:upper:]][^[:lower:]?!.]*[?!.]

替换为 \L$0。请注意,(?-i) 等于在搜索和替换 UI 窗口中设置 Match Case 选项。

两种模式都意味着

  • [A-Z] / [[:upper:]] - 大写字母
  • [^a-z?!.]* / [^[:lower:]?!.]* - 除小写字母、?!. 之外的零个或多个字符
  • [?!.] - ?!.

请注意,此模式假定句子不包含缩写。

查看演示截图:

enter image description here