gpt4 book ai didi

regex - 什么正则表达式会将空格后的任何字母大写?

转载 作者:行者123 更新时间:2023-12-04 16:18:59 24 4
gpt4 key购买 nike

我正在寻找一个 Perl 正则表达式,它将大写前面有空格(或字符串中的第一个字符)的任何字符。

我很确定有一种简单的方法可以做到这一点,但是我手头没有 Perl 书,而且我这样做的频率不够高,以至于我已经记住了它......

最佳答案

s/(\s\w)/\U$1\E/g;

我最初建议:
s/\s\w/\U$&\E/g;

但是在使用' $& 时警钟响了'(甚至在我阅读@Manni 的评论之前)。事实证明,它们是完全合理的 - 使用 $&、$` 和 $' 操作会导致正则表达式的整体效率低下。

\E 对这个正则表达式并不重要;它关闭“案例设置”开关 \U在这种情况下或 \L对于小写。

如评论中所述,匹配字符串的第一个字符需要:
s/((?:^|\s)\w)/\U$1\E/g;

更正第二个右括号的位置 - 谢谢,Blixtor。

关于regex - 什么正则表达式会将空格后的任何字母大写?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/626498/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com