Вы можете заменить класс символов глобальным флагом.
/[(),]/g
function fixString(text){
return text.replace(/[(),]/g, " ");
}
console.log(fixString(",1)2(3"));
Набор
/^ \+
В командном режиме будет соответствовать один или несколько пробелов в начале строки.
Набор
/^\s\+
В командном режиме будет соответствовать один или несколько пробельных символов (вкладки и т.д., а также пробелы) в начале строки.
Кстати, не удивляйтесь, если вы используете опцию hlsearch
и весь ваш текст загорается после ввода / *
- вместо просто пространства. Это потому, что нулевые пробелы могут совпадать где угодно!
Поэтому сопоставление нуля или более чего-либо полезно только в сочетании с чем-то другим.
Добавление после прояснения вопроса:
Чтобы соответствовать одному или нескольким пробелам в начале из строки do:
/^\s\+
См .:
:help whitespace
:help /\+
Если я правильно понял ..
/ *
будет соответствовать 0 или более пробелам
/ {0, n}
будет соответствовать 0 или n пробелам (где n - число)
Чтобы соответствовать 1 или более пробелам, начинающимся с начала строки:
/^ \+
Пробелы в начале строки в Vim:
/^ *
То есть:
'/'
для поиска. '^'
для начала строки. ''
как минимум для одного пробела. '*'
для нуля или более пробелов после этого. Если вы хотите найти какой-либо пробел (будь то пробел или табуляция), применимо следующее регулярное выражение
^[\s]*
^
соответствует началу строки
[\ s]
/ [\ t]
соответствует пробелу или символу табуляции (оба работают, хотя в соответствии с документацией vim вы должны использовать [\ s]
] *
обеспечивает повторение, 0 или более.
, конечно, используя /
для поиска, как упомянуто другими.
Вы почти у цели , Вам не нужно (). Регулярное выражение просто "^ *"
, и в Vim вы выполняете поиск с помощью /, поэтому вы вводите / ^ *
Обратите внимание, что это соответствует каждой строке , потому что каждая строка начинается с нуля или более пробелов! Итак, вы действительно намерены это? Если вы имели в виду «один или несколько пробелов», вам необходимо заменить *
на \ +
(в большинстве языков регулярных выражений это ' s +
, но +
экранируется в vim). Итак, / ^ \ +
Я думаю, что вы действительно можете сопоставить пробелы до какого-то непробельного символа, верно? Попробуйте это:
^\( \+\)
Или, для любого типа пробела:
^\(\s\+\)
В Vim необходимо экранировать регулярные выражения (,) и +. Кроме того, если вы планируете использовать обратную ссылку, синтаксис будет \ 1 (например, первая группа), а не $ 1, как в Perl.
/ *
соответствует нулю или нескольким пробелам.
Пример:
/ foo * bar
будет соответствовать foobar
, foo bar
, foo bar ,
etcetera`.
Обратите внимание, что если вы хотите использовать круглые скобки, как в вашем примере, вам нужно экранировать их с помощью \\
. Выражения Vim не являются стандартными регулярными выражениями Perl или регулярными выражениями POSIX. Ваш пример может быть следующим:
\\( \\)*
Чтобы сопоставить пробелы или символы табуляции в начале строки, вы также можете использовать: ^ \ s *
.