Редактировать
Меню
    наверх

    Использование положительного look-behind условия

    first image

    Находим все строки, у которых последний символ {, и перед ним нет пробела.

    Недавно мне попался кейс, в нем надо было найти все строки в css файлах и добавить пробел до символа {.

    Пример:

    .clmn-xs-8{
      width: 66.66666667%;
    }
    .clmn-xs-7{
      width: 58.33333333%;
    }
    .clmn-xs-6{
      width: 50%;
    }
    .clmn-xs-5{
      width: 41.66666667%;
    }
    

    А нужно было сделать следующее:

    .clmn-xs-8 {
      width: 66.66666667%;
    }
    .clmn-xs-7 {
      width: 58.33333333%;
    }
    .clmn-xs-6 {
      width: 50%;
    }
    .clmn-xs-5 {
      width: 41.66666667%;
    }
    

    Вобщем для соблюдения style guide.

    Проблем здесь несколько,

    • много файлов (но я знаю, что они все имеют расширение *.css)
    • если искать в редакторе по простому регулярному выражению ([^\s]{$), то это прохая идея, потому что в выборку попадет не только фигурная скобка, но и символ перед ней

    Для решегия этой задачи пришлось порыться в гугле и прочитать не ону статью по регуляркам. Вобщем помогла статья на хабре, очень рекомендую к прочтению.

    После всех правок моя регулярка стала такой:

    (?<=[^\s]){$
    

    После этого можно открывать свой текстовой редактор, у меня это Sublime Text 3, в нем есть функция поиска по файлам. Вводим эту регулярку в поле Find, а в поле Where вводим путь для поиска файлов. А так же вводим в поле Replace на что заменить найденные совпадения.

    Таким нехитрым способом я решил свою задачу, надеюсь вам эта хитрость будет полезна.

    Информация о посте
    Колличество слов
    294
    Дата создания
    25 августа 2016
    Предыдущий пост
    Следующий пост
    Комментарии