MoLnuS
Junior Member | Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору *пришел из темы Вопросы по JS* Излагаю всё задание полностью, а не часть, как в той теме. Мне нужно удалить знаки HTML-комментариев, оставив только само тело коммента. К примеру: исходное: <!-- asdfgh --> итог: " asdfgh " (со всеми пробелами, без кавычек конечно). исх: <!-- qwerty итог: " qwerty" исх: <!-- asdfgh --> --> итог: " asdfgh -->" Надеюсь, теперь само задание понятно) Извиняюсь, что вновь сразу высказал не всё. Думал, вопросов не возникнет, т.к. была непонятна только одна часть)) Замены всего коммента на тело пока касаться не буду, для начала мне нужно корректно распознать сам коммент (вместе со знаками). регулярка выходит примерно такая: /(<!--)+(непонятное_мне)(-->)?/g где непонятное_мне - любой набор символов, НЕ включающий последовательность -->(закр.коммент). т.е. чтобы второй закрывающий коммент(не имеющий перед собой <!--) он не считал за коммент, т.к. коммент то уже закрылся%))) непонятное_мне пробовал делать так: ([^-][^-][^>])* , так: [^(-->)]* в этих случаях он не считает --> за последовательность, а думает, что это набор (т.е. если встретится просто - , то уже не совпадение).Во втором случае скобки считает за символы. Был предложен еще вот такой вариант: (?!\(-->\)).+ Но я так и не сумел его нормально впихать туда((( Т.е. в итоге мне достаточно подсказать работающую часть регулярки, задающую любую последовательность символов НЕ включающих В себя -->. Добавлено: В таком варианте он захватывает лишние --> /(<!--)+.(?!-->).+(-->)?/g Например: исх: <!-- qw>erty --> --> --> найденное: <!-- qw>erty --> --> --> (тоже самое). | Всего записей: 191 | Зарегистр. 21-05-2009 | Отправлено: 20:09 04-05-2013 | Исправлено: MoLnuS, 20:12 04-05-2013 |
|