正则表达式:如何将紧跟在数字后面的第一个字母大写,除了 1st、2nd、3rd 等



所以基本上我正在为大规模 mp3 重命名工具编辑我的正则表达式代码,并希望有一个代码可以将数字后面的每个字母大写。例如,2nite> 2Nite 和 221b> 221B,但保持第 11 > 11和第 2 和第 2 和第 2 > 2 不变

你没有说你用的是什么语言。这是你在perl中要做的事情

s/(?<=d)(?!(?:st|nd|rd|th)b)([[:lower:]])/u$1/g

哪里

  • (?<=d)后面寻找数字
  • (?!(?:st|nd|rd|th)b)展望未来,不是"st"或"nd"或......
    • b是一个单词边界标记,因此1st保持不变,但1stop变得1Stop
  • ([[:lower:]])小写字母(捕获)
  • u$1替换边,大写第一个括号中文本的第一个字母

相关内容

最新更新