【发布时间】:2019-09-07 07:19:08
【问题描述】:
我有一个包含数千个句子的非常大的文件。在所有这些中,每个句子的第一个单词都以小写字母开头,但我需要它们以大写字母开头。
我浏览了该网站,试图找到一个正则表达式来执行此操作,但我无法做到。我在这个过程中学到了很多关于正则表达式的知识,这对我的工作来说总是一个加分项,但我无法找到我正在寻找的具体内容。
我试图从几个答案中找到一种编译代码的方法,包括以下内容:
- Convert first lowercase to uppercase and uppercase to lowercase (regex?)
- how to change first two uppercase character to lowercase character on each line in vim
- Regex, two uppercase characters in a string
- Convert a char to upper case using regular expressions (EditPad Pro)
但由于不同的原因,它们都没有达到我的目的。
我正在使用一个接受正则表达式的特定于翻译的应用程序。
你认为这可能吗?这将节省我数小时的繁琐工作。
【问题讨论】:
-
匹配
^[^a-z]*[a-z]并替换为\U$0? (您需要一个支持\U的编辑器) -
如果您的编辑器不支持它,编写脚本(例如在 Python 中)很容易实现您想要的。
-
@CertainPerformance 看起来它不支持 \U :/。此外,当使用 ^[^a-z]*[a-z] 正则表达式时,我得到每个小写字符,而不仅仅是每行第一个单词中的第一个小写字符。我不知道我的编辑器是否受到某种限制。
-
如果您的编辑器将 all 小写字符与该模式匹配,则您的编辑器的正则表达式引擎可能已损坏。我发布的模式对我来说效果很好。如果您发布示例输入和预期输出,这将有很大帮助
-
预期输入:正则表达式可以让我的工作更轻松 预期输出:正则表达式可以让我的工作更轻松 再次感谢!