降低除AND之外的所有单词

Bri*_*ray 5 javascript regex

我正在寻找一种最小的方法来小写一个短语中不属于AND的所有字母.我想离开AND其原来的情况下,无论是andAND不应该改变.

例如,barack AND obama应该测试等于Barack AND Obama但不是barack and obama.(注意和中的案例差异)

这是一种方法,但我想知道是否有一种更短的方式或者更确切地说是一种避免迭代器的方法:

var str = 'Barack AND Obama'; // should be barack AND obama after
str = str.split(/\s+/g).map(function (s) {
    return s.toLowerCase() != 'and' ? s.toLowerCase() : s;
}).join(' ');
Run Code Online (Sandbox Code Playgroud)

pim*_*vdb 8

您可以使用否定前瞻小写每个不完全对的单词:

str = str.replace(/\b(?!AND).+?\b/g, function(s) {
  return s.toLowerCase();
});
Run Code Online (Sandbox Code Playgroud)