gzhegow
@gzhegow
aka "ОбнимиБизнесмена"

Как написать регулярное выражение — удаление двойных пробелов не с начала строки?

Кто код пишет, сталкивался с ситуацией когда приходится менять чужой говнокод.
И что-то не могу я написать толком регулярное выражение

Все двойные и более пробелы ( [ ]{2,} ) заменить на одинарные пробелы, при условии, что перед ними не находится символ начала строки ( ^ ) - то есть если это оставленный программистом отступ - конкретно этот пробел пропускается.

У кого есть может?

===

UPDATED:
Если это Начало строки, то пропустить любое количество пробелов, идущих за ним, а уже со следующего совпадения делать выборку

UPDATED2:
/(?!^[\s]+)([^\s]+)([ ]{2,})/g
  • Вопрос задан
  • 1742 просмотра
Решения вопроса 3
abyrkov
@abyrkov
JavaScripter
var pattern = /[^^]\s\s/g;
Ответ написан
@abcd0x00
Можешь заменить начальные пробелы на какую-нибудь последовательность вроде
<sp>4
по всему файлу, потом почистить пробелы, а потом восстановить.
Получится три функции: одна - подготавливает, другая - преобразует, третья - восстанавливает.
Ответ написан
Комментировать
gzhegow
@gzhegow Автор вопроса
aka "ОбнимиБизнесмена"
под ситуацию
(?!^[\s]+)([^\s]+)([ ]{2,})
заменить на
$1(пробел)
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы