Я хочу сопоставить конечные пробелы в конце строк, но не если строка целиком сделана из пробелов.Соответствующие пробелы, но не строки пробелов с использованием JavaScript RegExp
Эти пробелы должны быть заменены.
В следующем выражении используется отрицательный lookahead для соответствия этим пробелам, но, похоже, не работает.
/(?!^(| )+$)(| )+$/gm
Вот входной образец
#The following line's trailing spaces should match
Foo
#But not a line full of whitespace
А вот фрагмент
var oRegExp = /(?!^(| )+$)(| )+$/;
// Test cases
var test = function (sInput, sOutput) {
var oMatch = sInput.match(oRegExp);
var bSuccess = (oMatch === null && sOutput === null) || oMatch[0] === sOutput;
console.log('"' + sInput + '" ', bSuccess ? 'success' : 'failed');
};
test('Foo ', ' ');
test(' ', null);
test('', null);
Спасибо за ответ! На самом деле, мой usecase немного сложнее, и я думаю, что \ s не будет делать, я отредактирую вопрос – Vinky
См. Мой отредактированный вопрос, что касается того, почему я собирался использовать негативный вариант обзора. Любая идея, почему это не работает так, как я себе представлял? – Vinky
@ Vinky: проверьте обновление –