Я работаю над файлом CSS в Dreamweaver. Существует 100 таких строк:
.ab_{background-image:url(../path/path/path/path/xxxxx.jpg);background-repeat:no-repeat;}
ab_ должен оставаться неизменным
xxxxx отличается. Пример: xxx01, xxx02 и т.д.
ab_xxxxx - это то, что я хочу добавить.
Я хочу получить значение xxxxx
и поместить его в начало, после ab_, как это:
.ab_xxxxxx{background-image:url(../path01/path02/path03/path04/xxxxx.jpg);background-repeat:no-repeat;}
так что другой
.ab_xxxx45{background-image:url(../path01/path02/path03/path04/xxx45.jpg);background-repeat:no-repeat;}
Я не уверен, что это возможно, я знаю, что регулярные выражения могут быть сложными, но если это возможно, кто-то может указать мне в правильном направлении?
Найти: \.ab_(.+/([^/]+)\.jpg)
Заменить: .ab_$2$1
Объяснение:
.ab_
соответствует буквальному тексту ".ab_".
(.+/([^/]+)\.jpg)
соответствует ".jpg" и сохраняет результат в $1
.
/([^/]+)
соответствует косой чертой, затем фиксирует все, что не является косой чертой до ".jpg", и сохраняет ее в $2
.
Не уверен в regex Dreamweaver, но попробуйте это в notepad++
поиск: ^\.ab_(.*)\/(.*).jpg(.*)$
замените на: .ab_\2\1/\2.jpg\3
Это не самое точное регулярное выражение, но оно, похоже, работает, особенно для чего-то, что должно быть одноразовой сделкой.
Вход:
.ab_{background-image:url(../path/path/path/path/xxxxx.jpg);background-repeat:no-repeat;}
.ab_{background-image:url(../path/path/path/path/xxxxx1.jpg);background-repeat:no-repeat;}
.ab_{background-image:url(../path/path/path/path/xxxxx2.jpg);background-repeat:no-repeat;}
.ab_{background-image:url(../path/path/path/path/xxxxx3.jpg);background-repeat:no-repeat;}
Вывод:
.ab_xxxxx{background-image:url(../path/path/path/path/xxxxx.jpg);background-repeat:no-repeat;}
.ab_xxxxx1{background-image:url(../path/path/path/path/xxxxx1.jpg);background-repeat:no-repeat;}
.ab_xxxxx2{background-image:url(../path/path/path/path/xxxxx2.jpg);background-repeat:no-repeat;}
.ab_xxxxx3{background-image:url(../path/path/path/path/xxxxx3.jpg);background-repeat:no-repeat;}