Вы должны использовать круглые скобки (), чтобы указать, что вы хотите сопоставить левую или правую сторону вертикальной черты "|" символ, а не квадратные скобки. Квадратные скобки фактически соответствуют наборам символов (т. Е. [Виноград] будет соответствовать одному экземпляру «g», «r», «a», «p», «e» или «s», а (grapes | apples) соответствует либо "виноград", либо "яблоки").
Кроме того, вам не хватает еще одного признака «количества». Другими словами, как только вы сопоставите пробел (\ s), сколько пробелов следует искать? В вашем примере это соответствует только одному пробелу. Вероятно, вы захотите сопоставить столько последовательных пробелов, сколько существует слева и справа от строки. Для этого вам нужно добавить * (соответствует нулю или более) или + (соответствует одному или нескольким) сразу после символа \ s.
Итак, чтобы переписать ваше регулярное выражение:
var input = " first second ";
var trimmed = input.replace(/(^\s+|\s+$)/g, '');
console.log(trimmed);
Вы можете скопировать и вставить эти строки в консоль JavaScript, чтобы получить желаемый результат. Регулярное выражение здесь буквально говорит: «Сопоставьте либо один или несколько пробелов от начала строки, либо один или несколько пробелов, сразу за которыми следует конец строки». Затем функция замены берет это совпадение и заменяет его на "".
person
JoeLinux
schedule
22.08.2012
[
и]
на(
и)
, и вы будете счастливы. ) - person raina77ow   schedule 22.08.2012