它可以是任何字符串,只应匹配UPPERCASE部分并更改为小写,例如:
"It's around August AND THEN I get an email"
变得
"It's around August and then I get an email"
如您所见,单词It'sAugustI应该忽略

最佳答案

使用 /\b[A-Z]{2,}\b/g 匹配全部大写的单词,然后使用小写的回调将 .replace() 匹配。

var string = "It's around August AND THEN I get an email",
  regex = /\b[A-Z]{2,}\b/g;

var modified = string.replace(regex, function(match) {
  return match.toLowerCase();
});

console.log(modified);
// It's around August and then I get an email


另外,请随意使用更复杂的表达式。这将查找长度为1+的大写单词,但以“I”为异常(exception)(我也使查找句子的第一个单词的单词有所不同,但这更加复杂,并且在回调函数中需要更新逻辑,因为您仍然希望首字母大写):
\b(?!I\b)[A-Z]+\b

10-05 20:59