JavaScript:输入字符串并将大写字母转换为小写,反之亦然

swapcase = function swapcase(str) {
  return str.replace(/([a-z]+)|([A-Z]+)/g,
    function(match, chr) {
      return chr ? match.toUpperCase() : match.toLowerCase();
  });
}
console.log(swapcase('AaBbc'))

最佳答案

`/(a-z)+|(A-Z)+/`



(a-z)+-一次或多次匹配任何小写字符。 (捕获组1)
|-替代与逻辑或
(A-Z)+-匹配任何一个大写字符一次或多次。 (捕获组2)


JS replace方法具有以下结构

str.replace(regexp|substr, newSubstr|function)

在这里,此功能将parameters作为(match, group1,group2..., offset,string)



const swapcase = function swapcase(str) {
  return str.replace(/([a-z]+)|([A-Z]+)/g, function(match, chr) {
      return chr ? match.toUpperCase() : match.toLowerCase(); });
}

console.log(swapcase('AaBbc'))





因此,在您的代码chr中是组1。该组仅匹配小写字符。并以chr的值作为交换条件

关于javascript - 正则表达式如何从大写转换为小写,反之亦然?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54613799/

10-09 17:19
查看更多