Dreamweaver CC. Регулярные выражения в поиске и замене

LL
На сайте с 19.11.2014
Offline
23
2239

Друзяки, Dreamweaver снова что-то переделал в синтаксисе регулярных выражений. А были счастливые времена Dreamweaver MX, когда выражение /***/ (ну или почти) понималось как «найти всё между /* и */ и заменить на ничто».

Расскажите — как решить простую задачу, не выходя из Dreamweaver. Есть например код CSS, в который автор поместил толпу комментариев, молодец:

/**

* 1. Remove the gray background on active links in IE 10.
* 2. Remove gaps in links underline in iOS 8+ and Safari 8+.
*/a{background-color:transparent;
/* 1 */-webkit-text-decoration-skip:objects;
/* 2 */}
/**
* 1. Remove the bottom border in Chrome 57- and Firefox 39-.
* 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
*/abbr[title]{border-bottom:none;
/* 1 */text-decoration:underline;
/* 2 */text-decoration:underline dotted;
/* 2 */}

Каменты изучены, усвоены и более не нужны. Хочется чистого кода — нужно удалить всё то, что находится между /* и */. Со всякими там пробелами, буквами и переходами на новые строки.

Напишите подходящую для этого регулярку. Задача непростая. Облазил толпу примеров и тем, не осилил.

and2005
На сайте с 21.05.2005
Offline
130
#1

Так попробуйте:

Сначала /* замените на LLL

*/ на DDD

потом удаляйте: LLL.*DDD

Это если .* не отменили. Я то пользуюсь Dreamweaver 8, мне уже MX не нравится.

Константин Белозеров
На сайте с 19.11.2008
Offline
130
#2

Можно почистить без регулярных выражений.

Заменить /* на любой редкий тег, к примеру <address>

Заменить */ на </address>

Выбрать "Найти и удалить тег и его содержимое" "<address>"

Может придется переименовать файл в .html а может и нет.

Мои бодрые площадки для размещения Ваших ссылок (/ru/forum/990493) в новых статьях под ключ с гарантией индексации!
LL
На сайте с 19.11.2014
Offline
23
#3
and2005:
Так попробуйте:
Сначала /* замените на LLL
*/ на DDD
потом удаляйте: LLL.*DDD
Это если .* не отменили. Я то пользуюсь Dreamweaver 8, мне уже MX не нравится.

Неплохой костыль, но не получится. Всё равно остаётся толпа мусора, который находился на разных строках. В Хэлпе так и написано про «.» и «*», что они действуют всюду, кроме переходов на другую строку.

У меня тоже не MX, у меня CC. По MX я лишь скучаю))

---------- Добавлено 06.10.2017 в 03:03 ----------

k0nstant:
Можно почистить без регулярных выражений.
Заменить /* на любой редкий тег, к примеру <address>
Заменить */ на </address>
Выбрать "Найти и удалить тег и его содержимое" "<address>"
Может придется переименовать файл в .html а может и нет.

Тоже неплохо)) Было бы совсем хорошо, не встречайся в каментах чего-нибудь типа «/**» или «/***». Да и без этого там засад хватает.

Всё-таки без однопроходной регулярки наверное никак.

Z0
На сайте с 03.09.2009
Offline
731
#4
lopter-lopter:

Тоже неплохо)) Было бы совсем хорошо, не встречайся в каментах чего-нибудь типа «/**» или «/***». Да и без этого там засад хватает.

так /*** заменится же на <address>* и так же все потереть потом все что в теге <address></address>.... Не вижу проблемы, вроде 🍿

И вообще, что мешает поставить тот софт, который вам так удобен и нравится? Религия не позволяет? 🤪

LL
На сайте с 19.11.2014
Offline
23
#5

Тут поступило предложение, которое я тоже принимал за логичное и давно проверял:

\/\*.*?\*\/ 
и даже вот такое:
/\/\*.*?\*\// (не зашло вообще)

...но Dreamweaver не согласен выполнять и это — не нравится ему множественность строк проверяемого массива и он их тупо игнорит. Главнадела, ситуация ухудшается по мере «развития» софта: в прошлых и лохматых версиях, срабатывали куда более простые конструкции. Мне кажется, что с изменениями, в Дриме попросту забыли что-то задокументировать и нужно догадаться — из синтаксиса какой системы влупили условия в нынешние версии. Как-то не верится в тупик на ровном месте.

spbs
На сайте с 22.02.2010
Offline
85
#6
\/\*.*?\*\/

Может, нубский вопрос - а зачем нужен "?". Точка - любой символ, звездочка - 0 или сколько угодно вхождений. А вообще - в notepad++, когда нужно, регуляркой правлю.

Слышь, уважаемый, дай фотик на пять сек, позвонить надо...
Z0
На сайте с 03.09.2009
Offline
731
#7
spbs:
Может, нубский вопрос - а зачем нужен "?". Точка - любой символ, звездочка - 0 или сколько угодно вхождений. А вообще - в notepad++, когда нужно, регуляркой правлю.

Я сколько ни пытался запомнить регулярки, как их вижу - глаза в кучку сразу 🤪

LL
На сайте с 19.11.2014
Offline
23
#8
spbs:
Может, нубский вопрос - а зачем нужен "?". Точка - любой символ, звездочка - 0 или сколько угодно вхождений. А вообще - в notepad++, когда нужно, регуляркой правлю.

Ну может быть уже от безысходности)) Так-то разные варианты перепробованы. Объяснить Дриму необходимость поиска и замены на нескольких строках, всё равно не получается.

Samail
На сайте с 10.05.2007
Offline
328
#9
lopter-lopter:
Со всякими там пробелами, буквами и переходами на новые строки.

/\*[\S\s]+?(?=\*/)\*/
LL
На сайте с 19.11.2014
Offline
23
#10
Samail:
/\*[\S\s]+?(?=\*/)\*/

Круто. Тему можно закрывать)

Спасибо!

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий