Регулярка для удаления комментариев

Статус
В этой теме нельзя размещать новые ответы.

pierrevk

Постоялец
Регистрация
22 Сен 2009
Сообщения
59
Реакции
5
Приветствую могущественный All!
В коде куча бестолковых комментариев. Пример кода:
HTML:
</td>
...
</tr>
<!--    <tr>       <td><div align="left">&nbsp;</div></td>          -->
<tr valign="top">
  <td>
    <br>
    <!--         <td><div align="left"></div></td>    -->
    <tr valign="top"> 
...
Мне требуется регулярка, которая захватит каждый комментарий по отдельности, а не все то, что находится между первым <!-- и последним --> ??
Буду очень признателен идеям, сталкиваюсь с такой задачей постоянно, а как решить не знаю.
 
Попробовал, работает!
EnGeLs, спасибо тебе огромное!

Какая приятная вещь, этот непонятный мне пока набор isxmU, который творит чудеса!
 
Попробовал, работает!
EnGeLs, спасибо тебе огромное!
Какая приятная вещь, этот непонятный мне пока набор isxmU, который творит чудеса!
Ну, ixm здесь вообще ничего не значат. U довольно бестолковый модификатор, который меняет смысл регулярки /(<!--.*-->)/ на /(<!--.*?-->)/.
А s означает совпадение точки с любым символом. Без него она не совпадает с переводом строки, и комментарий может находится только на одной строке.
 
Ну, ixm здесь вообще ничего не значат. U довольно бестолковый модификатор, который меняет смысл регулярки /(<!--.*-->)/ на /(<!--.*?-->)/.
А s означает совпадение точки с любым символом. Без него она не совпадает с переводом строки, и комментарий может находится только на одной строке.
Ну да, i,x,m можно убрать в принципе... Для примера сойдет. Разница будет только в скорости.
 
Попытался прочесть подробное описание набора модификаторов, пройдя по ссылки. Скажу я вам, друзья, не комильфо. Сухой текст без примеров. Без поллитры не разберешь.

Как итог - так и не понял, какой именно из модификаторов убирает это свойство "глобальности", когда с кучей бесполезных комментариев сжирается куча полезного кода!

Тем не менее, проблему вы мне решить помогли, уже всё в лучшем виде, на будущее если isxmU не нужны в полном объеме - та какой из них пользовать я разберусь на практике.

Вот такой вопрос - порядок модификаторов важен?
 
Ну, ixm здесь вообще ничего не значат. U довольно бестолковый модификатор, который меняет смысл регулярки /(<!--.*-->)/ на /(<!--.*?-->)/.
А s означает совпадение точки с любым символом. Без него она не совпадает с переводом строки, и комментарий может находится только на одной строке.
ты знаешь что такое "жадность квантификаторов"? если да - подумай что она сделает в данном коде! если не додумаешься то смотри:
Код:
<!-- first comment -->
какой-то контент
<!-- second comment -->
еще контент
<!-- последний контент -->

если вырезать
Код:
<!--(.*)-->

то от кода ничего по идее не останется, в то время как
Код:
<!--(.*?)-->
угасит аппетит * и комменты удалятся корректно
 
Я-то знаю. И по-моему, все достаточно подробно расписал топик стартеру.
Зачем же ты написал свое сообщение, вообще не понял.
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху